最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Dockerfile的CMD指令用法

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

一 Docker的CMD指令

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

CMD在容器運(yùn)行的時(shí)候提供一些命令及參數(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)
  • 第一種用法:運(yùn)行一個(gè)可執(zhí)行的文件并提供參數(shù)。
  • 第二種用法:為ENTRYPOINT指定參數(shù)。
  • 第三種用法(shell form):是以”/bin/sh -c”的方法執(zhí)行的命令。

如你指定:

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

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

docker run ec

就會(huì)輸出: this is a echo test

是不是感覺(jué)很像開(kāi)機(jī)啟動(dòng)項(xiàng),你可以暫時(shí)這樣理解。

注意點(diǎn):

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

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

同樣是上面的ec鏡像啟動(dòng):

docker run ec /bin/echo hello

就不會(huì)輸出:this is a echo test,因?yàn)镃MD命令被”/bin/bash”覆蓋了。

二 實(shí)戰(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

三 一些說(shuō)明和注意

一個(gè)Dockerfile僅僅最后一個(gè)CMD起作用。

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

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

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

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

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í)行,容器啟動(dòng)時(shí)候執(zhí)行。

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

如果用戶啟動(dòng)容器時(shí)指定了運(yùn)行命令,則會(huì)覆蓋CMD指定命令。

總結(jié)

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

相關(guān)文章

  • docker修改運(yùn)行容器環(huán)境變量的操作步驟

    docker修改運(yùn)行容器環(huán)境變量的操作步驟

    在現(xiàn)代應(yīng)用開(kāi)發(fā)中,Docker 提供了一種有效的容器化解決方案,使得應(yīng)用的部署、擴(kuò)展和管理變得更加靈活,環(huán)境變量在容器化應(yīng)用中起著重要作用,它們可以幫助配置應(yīng)用的運(yùn)行環(huán)境,本文小編給大家介紹了docker如何修改運(yùn)行容器環(huán)境變量,需要的朋友可以參考下
    2025-03-03
  • 釋放Docker占用的存儲(chǔ)空間的幾種方法

    釋放Docker占用的存儲(chǔ)空間的幾種方法

    隨著Docker的廣泛應(yīng)用,我們經(jīng)常會(huì)遇到Docker占用過(guò)多存儲(chǔ)空間的問(wèn)題,這可能是由于頻繁的鏡像拉取、容器創(chuàng)建和刪除等操作導(dǎo)致的,本文將介紹幾種方法來(lái)有效釋放Docker占用的存儲(chǔ)空間,需要的朋友可以參考下
    2024-06-06
  • docker安裝elasticsearch和kibana的方法步驟

    docker安裝elasticsearch和kibana的方法步驟

    這篇文章主要介紹了docker安裝elasticsearch和kibana的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Docker部署kafka遇到的問(wèn)題及解決

    Docker部署kafka遇到的問(wèn)題及解決

    在啟動(dòng)容器后,狀態(tài)顯示為“Exited”,日志顯示連接ZooKeeper超時(shí),原因是端口不通,通過(guò)配置安全組相關(guān)端口后重新啟動(dòng)容器,查看日志顯示“started”,說(shuō)明容器啟動(dòng)成功
    2024-09-09
  • docker鏡像alpine中安裝oracle客戶端

    docker鏡像alpine中安裝oracle客戶端

    這篇文章主要為大家介紹了docker鏡像alpine中安裝oracle客戶端,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • docker連接spring boot和mysql容器方法介紹

    docker連接spring boot和mysql容器方法介紹

    這篇文章主要介紹了docker連接spring boot和mysql容器方法介紹,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • 詳解Docker中VLAN網(wǎng)絡(luò)模式的配置

    詳解Docker中VLAN網(wǎng)絡(luò)模式的配置

    在Docker應(yīng)用到生產(chǎn)環(huán)境的時(shí)候包括了原生Bridge NAT模式、LinuxBridge VLAN模式以及利用第三方的網(wǎng)絡(luò)方案這三種,這篇文章給大家詳細(xì)介紹了Docker中VLAN網(wǎng)絡(luò)模式的配置,有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • Docker部署mysql一主一從的操作方法

    Docker部署mysql一主一從的操作方法

    這篇文章主要介紹了Docker部署mysql一主一從,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Ubuntu15.10安裝docker和docker-compose教程

    Ubuntu15.10安裝docker和docker-compose教程

    這篇文章主要介紹了Ubuntu15.10安裝docker和docker-compose的教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03
  • Docker 徹底刪除私有庫(kù)鏡像的操作

    Docker 徹底刪除私有庫(kù)鏡像的操作

    這篇文章主要介紹了Docker 徹底刪除私有庫(kù)鏡像的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03

最新評(píng)論

珠海市| 永年县| 阜宁县| 瑞金市| 越西县| 延长县| 十堰市| 长岛县| 吉木萨尔县| 宁国市| 重庆市| 南木林县| 南乐县| 黎川县| 海安县| 太仓市| 满洲里市| 高淳县| 克拉玛依市| 洛扎县| 湘阴县| 大城县| 纳雍县| 滨海县| 九龙坡区| 钟山县| 多伦县| 惠来县| 松桃| 浠水县| 台北县| 黑龙江省| 罗城| 南川市| 兴仁县| 高尔夫| 兴文县| 临猗县| 建宁县| 建瓯市| 双鸭山市|