欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Dockerfile的CMD與ENTRYPOINT的區(qū)別

 更新時(shí)間:2024年12月16日 11:00:45   作者:芝麻\n  
CMD和ENTRYPOINT的區(qū)別在于CMD提供默認(rèn)的執(zhí)行指令,而ENTRYPOINT定義容器啟動(dòng)時(shí)運(yùn)行的命令,下面就來詳細(xì)的介紹一下這兩者的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下

CMD和ENTRYPOINT

我們先來試一下構(gòu)建以下這個(gè)Dockerfile,并運(yùn)行

FROM centos

CMD ["ls","-a"]

構(gòu)建

[root@zhima lizhi]# docker build -t mycentos .
Sending build context to Docker daemon  17.92kB
Step 1/2 : FROM centos
 ---> 5d0da3dc9764
Step 2/2 : CMD ["ls","-a"]
 ---> Running in a1e70a05d8dd
Removing intermediate container a1e70a05d8dd
 ---> 00433fd4c299
Successfully built 00433fd4c299
Successfully tagged mycentos:latest

運(yùn)行

[root@zhima lizhi]# docker run -it --name "centos1" mycentos
.   .dockerenv	dev  home  lib64       media  opt   root  sbin	sys  usr
..  bin		etc  lib   lost+found  mnt    proc  run   srv	tmp  var

可以發(fā)現(xiàn),進(jìn)入容器之后,就執(zhí)行了ls -a命令

我們嘗試一下在啟動(dòng)的時(shí)候加入一些參數(shù)

[root@zhima lizhi]# docker run -it --name "centos2" mycentos -l
docker: Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "-l": executable file not found in $PATH: unknown.

我們發(fā)現(xiàn)容器并沒有執(zhí)行ls -al,而是直接報(bào)錯(cuò)了

其實(shí)這就是CMD的特性,當(dāng)我在啟動(dòng)容器的時(shí)候添加了一個(gè)CMD后

鏡像中定義的CMD就被覆蓋掉了

單獨(dú)的-l當(dāng)然會(huì)報(bào)錯(cuò)了

我們來看一下使用ENTRYPOINT會(huì)怎么樣

修改Dockerfile

FROM centos

ENTRYPOINT ["ls","-a"]

重新構(gòu)建

[root@zhima lizhi]# docker build -t mycentos .
Sending build context to Docker daemon  17.92kB
Step 1/2 : FROM centos
 ---> 5d0da3dc9764
Step 2/2 : ENTRYPOINT ["ls","-a"]
 ---> Running in 22ef40dea625
Removing intermediate container 22ef40dea625
 ---> 73a3d51b4d84
Successfully built 73a3d51b4d84
Successfully tagged mycentos:latest

運(yùn)行容器

[root@zhima lizhi]# docker run -it --name "centos1" mycentos -l
total 56
drwxr-xr-x   1 root root 4096 Jul 14 08:52 .
drwxr-xr-x   1 root root 4096 Jul 14 08:52 ..
-rwxr-xr-x   1 root root    0 Jul 14 08:52 .dockerenv
lrwxrwxrwx   1 root root    7 Nov  3  2020 bin -> usr/bin
drwxr-xr-x   5 root root  360 Jul 14 08:52 dev
drwxr-xr-x   1 root root 4096 Jul 14 08:52 etc
drwxr-xr-x   2 root root 4096 Nov  3  2020 home
lrwxrwxrwx   1 root root    7 Nov  3  2020 lib -> usr/lib
lrwxrwxrwx   1 root root    9 Nov  3  2020 lib64 -> usr/lib64
drwx------   2 root root 4096 Sep 15  2021 lost+found
drwxr-xr-x   2 root root 4096 Nov  3  2020 media
drwxr-xr-x   2 root root 4096 Nov  3  2020 mnt
drwxr-xr-x   2 root root 4096 Nov  3  2020 opt
dr-xr-xr-x 191 root root    0 Jul 14 08:52 proc
dr-xr-x---   2 root root 4096 Sep 15  2021 root
drwxr-xr-x  11 root root 4096 Sep 15  2021 run
lrwxrwxrwx   1 root root    8 Nov  3  2020 sbin -> usr/sbin
drwxr-xr-x   2 root root 4096 Nov  3  2020 srv
dr-xr-xr-x  13 root root    0 Jan 29 10:27 sys
drwxrwxrwt   7 root root 4096 Sep 15  2021 tmp
drwxr-xr-x  12 root root 4096 Sep 15  2021 usr
drwxr-xr-x  20 root root 4096 Sep 15  2021 var

可以發(fā)現(xiàn),容器執(zhí)行的是ls -al,-l指令被追加給了ENTRYPOINT定義的語句

到此這篇關(guān)于Dockerfile的CMD與ENTRYPOINT的區(qū)別的文章就介紹到這了,更多相關(guān)Dockerfile CMD與ENTRYPOINT內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

    Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Docker容器運(yùn)行ASP.NET Core的實(shí)現(xiàn)步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • 詳解ubuntu 16.04安裝docker教程

    詳解ubuntu 16.04安裝docker教程

    本篇文章主要介紹了ubuntu 16.小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • Docker網(wǎng)絡(luò)之自定義網(wǎng)絡(luò)方式

    Docker網(wǎng)絡(luò)之自定義網(wǎng)絡(luò)方式

    文章介紹了Docker的網(wǎng)絡(luò)模式,包括bridge、none、container、host和用戶自定義網(wǎng)絡(luò),并詳細(xì)說明了docker0網(wǎng)絡(luò)的特點(diǎn)和自定義網(wǎng)絡(luò)的創(chuàng)建
    2025-01-01
  • docker run啟動(dòng)的容器掛掉了數(shù)據(jù)怎么辦

    docker run啟動(dòng)的容器掛掉了數(shù)據(jù)怎么辦

    這篇文章主要介紹了docker run啟動(dòng)的容器掛掉了,數(shù)據(jù)怎么辦,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案

    利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案

    這篇文章主要介紹了利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的問題,需要在容器的啟動(dòng)腳本中,加入 trap 指令,來完成容器在退出前需要做的所有事情,本文通過腳本示例給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-12-12
  • 淺析SpringBoot打包上傳到docker并實(shí)現(xiàn)多實(shí)例部署(IDEA版)

    淺析SpringBoot打包上傳到docker并實(shí)現(xiàn)多實(shí)例部署(IDEA版)

    這篇文章主要介紹了SpringBoot打包上傳到docker并實(shí)現(xiàn)多實(shí)例部署(IDEA版),本文通過圖文并茂實(shí)例詳解的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 詳解docker-compose.yml文件常用模版命令

    詳解docker-compose.yml文件常用模版命令

    這篇文章主要介紹了docker-compose.yml文件常用模版命令,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • Docker 教程之鏡像列出詳細(xì)介紹

    Docker 教程之鏡像列出詳細(xì)介紹

    這篇文章主要介紹了Docker 教程之鏡像列出詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • docke自定義網(wǎng)絡(luò)之容器互聯(lián)

    docke自定義網(wǎng)絡(luò)之容器互聯(lián)

    大家好,本篇文章主要講的是docke自定義網(wǎng)絡(luò)之容器互聯(lián),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • docker 安裝Consul的教程 (最新版2023)

    docker 安裝Consul的教程 (最新版2023)

    ?consul是google開源的一個(gè)使用go語言開發(fā)的服務(wù)發(fā)現(xiàn)、配置管理中心服務(wù),內(nèi)置了服務(wù)注冊與 發(fā)現(xiàn)框 架、分布一致性協(xié)議實(shí)現(xiàn)、健康檢查、Key/Value存儲、多數(shù)據(jù)中心方案,不再需要依賴其 他工具,這篇文章主要介紹了最新版2023 docker 安裝Consul,需要的朋友可以參考下
    2023-12-12

最新評論