亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Dockerfile的CMD指令用法

 更新時間:2023年03月13日 09:53:18   作者:chengqiuming  
這篇文章主要介紹了Dockerfile的CMD指令用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

一 Docker的CMD指令

The main purpose of a CMD is to provide defaults for an executing container.

CMD在容器運行的時候提供一些命令及參數(shù),用法如下:

CMD ["executable","param1","param2"] (exec form, this is the preferred form)
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
CMD command param1 param2 (shell form)
  • 第一種用法:運行一個可執(zhí)行的文件并提供參數(shù)。
  • 第二種用法:為ENTRYPOINT指定參數(shù)。
  • 第三種用法(shell form):是以”/bin/sh -c”的方法執(zhí)行的命令。

如你指定:

CMD ["/bin/echo", "this is a echo test"]

build后運行(假設(shè)鏡像名為ec):

docker run ec

就會輸出: this is a echo test

是不是感覺很像開機啟動項,你可以暫時這樣理解。

注意點:

docker run命令如果指定了參數(shù)會把CMD里的參數(shù)覆蓋:

這里說明一下,如:docker run -it ubuntu /bin/bash 命令的參數(shù)是指/bin/bash 而非 -it ,-it只是docker 的參數(shù),而不是容器的參數(shù)。

同樣是上面的ec鏡像啟動:

docker run ec /bin/echo hello

就不會輸出:this is a echo test,因為CMD命令被”/bin/bash”覆蓋了。

二 實戰(zhàn)

[root@localhost df]# cat Dockerfile
FROM busybox
CMD ["/bin/echo", "this is a echo test"]
[root@localhost df]# docker build -t test .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM busybox
---> 6ad733544a63
Step 2/2 : CMD /bin/echo this is a echo test
---> Running in fa8af9fca520
---> c653707895ae
Removing intermediate container fa8af9fca520
Successfully built c653707895ae
Successfully tagged test:latest
[root@localhost df]# docker run test
this is a echo test
[root@localhost df]# docker run test /bin/echo hello
hello

三 一些說明和注意

一個Dockerfile僅僅最后一個CMD起作用。

執(zhí)行文件或者沒有執(zhí)行文件(ENTRYPOINT提供),為執(zhí)行容器提供缺省值。

如果CMD配合ENTRYPOINT那么他們的格式都需要是json數(shù)組格式,CMD用來提供參數(shù)。

CMD非參數(shù)模式,shell exec 當(dāng)運行一個鏡像的時候會執(zhí)行。

shell格式 相當(dāng)于指令在/bin/sh -c執(zhí)行,如果不想使用shell格式,就需要使用數(shù)組格式,參數(shù)為單獨字符串。

FROM ubuntu
CMD echo "This is a test." | wc -

FROM ubuntu
#需要程序地址
CMD ["/usr/bin/wc","--help"]

如果容器每次都執(zhí)行則考慮CMD和ENTRYPOINT結(jié)合

docker run覆蓋CMD

RUN鏡像構(gòu)建,并提交交結(jié)果。CMD構(gòu)建階段不執(zhí)行,容器啟動時候執(zhí)行。

每個Dockfile只能有一條CMD命令,如果指定了多條,只有最后一條會執(zhí)行。

如果用戶啟動容器時指定了運行命令,則會覆蓋CMD指定命令。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker快速安裝rabbitmq的方法步驟

    docker快速安裝rabbitmq的方法步驟

    這篇文章主要介紹了docker快速安裝rabbitmq的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • docker-compose中的環(huán)境變量問題

    docker-compose中的環(huán)境變量問題

    這篇文章主要介紹了docker-compose中的環(huán)境變量問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker-Compose搭建Redis集群的實現(xiàn)教程

    Docker-Compose搭建Redis集群的實現(xiàn)教程

    本文主要介紹了Docker-Compose搭建Redis集群的實現(xiàn)教程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 解決docker 容器設(shè)置中文語言包出現(xiàn)的問題

    解決docker 容器設(shè)置中文語言包出現(xiàn)的問題

    這篇文章主要介紹了解決docker 容器設(shè)置中文語言包出現(xiàn)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker中安裝quagga詳細介紹

    docker中安裝quagga詳細介紹

    這篇文章主要介紹了docker中安裝quagga詳細介紹的相關(guān)資料,這里提供了詳細的步驟,及注意事項,需要的朋友可以參考下
    2016-10-10
  • 基于Docker快速搭建ELK的方法

    基于Docker快速搭建ELK的方法

    這篇文章主要介紹了基于Docker快速搭建ELK的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Docker網(wǎng)絡(luò)配置及部署SpringCloud項目詳解

    Docker網(wǎng)絡(luò)配置及部署SpringCloud項目詳解

    bridge模式是Docker默認的網(wǎng)絡(luò)設(shè)置,此模式會為每一個容器分配Network Namespace、設(shè)置IP等,并將一個主機上的Docker容器連接到一個虛擬網(wǎng)橋上,下面這篇文章主要給大家介紹了關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項目的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Dockerfile文件詳細介紹

    Dockerfile文件詳細介紹

    Dockerfile 是一個文本文件,里面包含組裝新鏡像時用到的基礎(chǔ)鏡像和各種指令。使用dockerfile 文件來定義鏡像,然后運行鏡像,啟動容器。本文詳細介紹了Dockerfile文件,感興趣的小伙伴可以參考一下
    2023-04-04
  • 云原生Docker容器自定義DNS解析

    云原生Docker容器自定義DNS解析

    Docker沒有為每個容器專門定制鏡像,那么怎么自定義配置容器的DNS配置呢?這篇文章主要給大家介紹了關(guān)于云原生Docker容器自定義DNS的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • docker-compose搭建etcd集群的實現(xiàn)(三節(jié)點)

    docker-compose搭建etcd集群的實現(xiàn)(三節(jié)點)

    本文主要介紹了docker-compose搭建etcd集群的實現(xiàn)(三節(jié)點),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評論