dockerfile CMD和ENTRYPOINT区别

dockerfile entrypoint和cmd区别

CMD:

1、在docker run时候运行,dockerfile中如果存在多个CMD指令,仅最后一个生效。

2、docker run时CMD会被新参数覆盖原因命令

案例

1、创建dockerfile1文件

1
2
3
4
cat Dockerfile1
FROM centos
CMD ["touch","11.java"]
CMD ["ls","-a"]

2、执行构建

1
docker build -f Dockerfile1 -t mycentos:1.0 .

3、查看结果

4、执行docker run mycentos:1.0 ls -l,其中cmd的ls -a被覆盖,执行ls -l

 

 

5、执行docker run mycentos:1.0 -l报错,覆盖了原有命令

ENTRYPOINT:docker run时运行,可以追加命令

案例:

1
2
FROM centos
ENTRYPOINT ["ls","-a"]

1、执行docker run mycentos:2.0 ls -l报错,ls -l 接在ls -a后面执行,故报错

 



感谢您的阅读,如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮。本文欢迎各位转载,但是转载文章之后必须在文章页面中给出作者和原文连接
posted @   南昌拌粉的成长  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示