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的区别的主要内容,如果未能解决你的问题,请参考以下文章

dockerCMD ENTRYPOINT 区别 终极解读!

Dockerfile 中的 CMD 和 ENTRYPOINT 有啥区别?

Dockerfile 中 CMD 和ENTRYPOINT 的区别

Docker ENTRYPOINT 和 Kubernetes 容器规范命令之间的区别?

docker容器中的EntryPoint和CMD命令区别

dockerfile-ENTRYPOINT 和CMD配合,以及他们的区别