前言
- 本篇來(lái)學(xué)習(xí)下Dockerfile中的CMD/ENTRYPOINT指令
CMD
作用
- 啟動(dòng)容器時(shí)默認(rèn)執(zhí)行的命令
說(shuō)明:
- 一個(gè) Dockerfile 只有一個(gè) CMD 指令,只有最后一個(gè) CMD 指令生效
- 使用 docker run -d xxx CMD 命令是可以覆蓋 Dockerfile 中的 CMD 指令的
格式
# exec 方式, 首選方式 CMD ["可執(zhí)行命令", "參數(shù)1", "參數(shù)2"...]
CMD ["executable","param1","param2"]
# 為 ENTRYPOINT 提供默認(rèn)參數(shù)
CMD ["param1","param2"]
# shell 形式 CMD 命令 參數(shù)1 參數(shù)2
CMD command param1 param2
使用示例
- 新建dockerfile
FROM ubuntu
# CMD 和 ENTRYPOINT 作為唯一入口,寫多個(gè),只有最后一個(gè)生效
# shell方式
CMD ping bing.com
# exec方式
CMD [ "sh", "-c", "echo $HOME" ]
- 制作鏡像
docker build -t test --force-rm --no-cache .
- 運(yùn)行容器
# --rm 表示容器退出,自動(dòng)刪除
docker run -it --rm test
- 可以看到只執(zhí)行了后面的echo $HOME,沒執(zhí)行ping 命令
ENTRYPOINT
作用
- 指定鏡像的默認(rèn)入口命令,該入口命令會(huì)在啟動(dòng)容器時(shí)作為根命令執(zhí)行,所有其他傳入值作為該命令的參數(shù)
說(shuō)明:
- 一個(gè) Dockerfile 只有一個(gè) ENTRYPOINT 指令,只有最后一個(gè) ENTRYPOINT 指令生效
格式
# exec 格式
ENTRYPOINT ["executable", "param1", "param2"]
# shell 格式
ENTRYPOINT command param1 param2
使用示例
- 新建dockerfile
FROM ubuntu
# CMD 和 ENTRYPOINT 作為唯一入口,寫多個(gè),只有最后一個(gè)生效
# shell方式
ENTRYPOINT ping baidu.com
# exec方式
ENTRYPOINT [ "sh", "-c", "echo $HOME" ]
- 制作鏡像
docker build -t test --force-rm --no-cache .
- 運(yùn)行容器
docker run -it --rm test
CMD/ENTRYPOINT區(qū)別
- CMD :指定這個(gè)容器啟動(dòng)的時(shí)候要運(yùn)行的命令,會(huì)覆蓋原命令,不可以追加命令
- ENTRYPOINT :指定這個(gè)容器啟動(dòng)的時(shí)候要運(yùn)行的命令,可以追加命令
CMD使用示例
- dockerfile
FROM ubuntu
CMD ["ls","-a"]
- 制作鏡像
docker build -t test --force-rm --no-cache .
- 運(yùn)行容器
# 覆蓋 ls -a; -l命令是不存在的,所以會(huì)報(bào)錯(cuò)
docker run -it --rm test -l
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-440056.html
ENTRYPOINT使用示例
- dockerfile
FROM ubuntu
ENTRYPOINT ["ls","-a"]
- 制作鏡像
docker build -t test --force-rm --no-cache .
- 運(yùn)行容器
# 會(huì)追加命令 相當(dāng)于執(zhí)行 ls -a -l
docker run -it --rm test -l
`文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-440056.html
到了這里,關(guān)于48-Dockerfile-CMD/ENTRYPOINT指令的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!