Docker中,CMD 和 ENTRYPOINT 的区别,简单!明了!
docker run 命令在ENTRYPOINT的命令行格式下,无法替换ENTRYPOINT命令(命令行格式的ENTRYPOINT命令,霸道!当CMD和ENTRYPOINT命令行格式的命令在一起时,ENTRYPOINT命令无条件替换CMD命令(霸道!1.CMD的两种格式,一个是命令行格式(shell格式),另一个是键值对格式(exec格式,JSON格式)。当CMD和ENTRYPOINT键值对格式的
目录
CMD 和 ENTRYPOINT的区别:结论篇
一、CMD的两种格式完全等效,但是ENTRYPOINT两种格式是有区别的
二、docker run 命令替代了dockerfile的CMD命令
三、docker run 命令在ENTRYPOINT的键值对格式下,是作为ENTRYPOINT命令的参数,docker run wx-centos ls -l会出错。
四、docker run 命令在ENTRYPOINT的命令行格式下,无法替换ENTRYPOINT命令(命令行格式的ENTRYPOINT命令,霸道!!!)
五、当CMD和ENTRYPOINT命令行格式的命令在一起时,ENTRYPOINT命令无条件替换CMD命令(霸道!!!1)
六、当CMD和ENTRYPOINT键值对格式的命令在一起时,CMD命令是ENTRYPOINT命令的参数
CMD 和 ENTRYPOINT的其他细节结论
1.CMD的两种格式,一个是命令行格式(shell格式),另一个是键值对格式(exec格式,JSON格式)。
2.键值对后面引号的内容,是前面命令的参数.
3.如果在键值对格式下,看见“/bin/sh”和“-c”的固定搭配,他的本质就是命令行格式。
4.多条CMD命令,只执行最后一条
5.多条ENTRYPOINT 命令,只执行最后一条命令
6.entrypoint小写也可以实现功能,但是不允许,不符合规范,dockerfile命令不准小写
测试篇
更多推荐
所有评论(0)