dockerCMD和ENTRYPOINT的区别
Posted 王思琪^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dockerCMD和ENTRYPOINT的区别相关的知识,希望对你有一定的参考价值。
1、测试cmd
#编写 dockerfile 文件
[root@kuangshen docekrfile]# vim dockerfile-cmd-test
FROM centos
CMD ["ls","-a"]
#构建镜像
[root@kuangshen dockerfile]# docker build -f dockerfile-cmd-test -t cmdtest .
#run运行,发现我们的ls -a 命令参数
[root@kuangshen dockerfile]# docker run dd8e4401d72f
-
--
.dockerenv
bin
dev
etc
home
lib
lib64
#想追加一个命令 -l ls -al
[root@kuangshen dockerfile]# docekr run dd8e4401d/2f -l
docker: Error response from daemon : OCI runtime create failed : container_linux.go:349:starting
container process caused "exec: \\"-l\\": executable file not found in $PATH": unknown.
#cmd的清理下 -l 替换了CMD ["ls","-a"] 命令,-l 不是命令所以报错!!!
2、测试ENTRYPOINT
DockerFile中很多命令都十分的相似,我们需要了解它们的区别,我们最好的学习就是对比它们,然后测试它们的效果
以上是关于dockerCMD和ENTRYPOINT的区别的主要内容,如果未能解决你的问题,请参考以下文章
Dockerfile 中的 CMD 和 ENTRYPOINT 有啥区别?
Dockerfile 中 CMD 和ENTRYPOINT 的区别