,,,CMD/入口点都是指定一个容器启动时要运行的命令。但是CMD会覆盖前面的参数,而ENTRYPONT会追加组合原来的参数。
CMD
,,,Dockfile中可以有多个CMD指令,但只有最后一个生效。
,,,另外,CMD会被码头工人之运行后的参数替换,举例说明:
<前>
[root@t-docker chenzx] #, docker run -it -p 8080:8080 tomcat
01 - 9 - 2018,12:52:39.808 INFO [localhost-startStop-1], org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/地方/tomcat/webapps/经理)
01 - 9 - 2018,12:52:39.822 INFO [localhost-startStop-1], org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/地方/tomcat/webapps/经理),has finished 拷贝[14],女士
01 - 9 - 2018,12:52:39.827 INFO [主要],org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [“http nio - 8080“)
01 - 9 - 2018,12:52:39.834 INFO [主要],org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler (“美国nio - 8009“)
01 - 9 - 2018,12:52:39.836 INFO [主要],org.apache.catalina.startup.Catalina.start Server startup 拷贝510 ms
>之前
<前>
[root@t-docker chenzx] #, docker run -it -p 8080:8080 tomcat ls - l
total 120
-rw-r——安康;1,root root , 19533, Aug 12, 08:23 BUILDING.txt
-rw-r——安康;1,root root ,, 6090, Aug 12, 08:23 CONTRIBUTING.md
-rw-r——安康;1,root root , 57092, Aug 12, 08:23 许可
-rw-r——安康;1,root root ,, 1726, Aug 12, 08:23 注意
-rw-r——安康;1,root root ,, 3255, Aug 12, 08:23 README.md
-rw-r——安康;1,root root ,, 7140, Aug 12, 08:23 发行说明
-rw-r——安康;1,root root , 16262, Aug 12, 08:23 RUNNING.txt
drwxr-x——安康;2,root root ,,, 313, Aug 23, 00:47 本
drwx—S—安康;2,root root ,,, 238, Aug 12, 08:23 相依
drwxr-sr-x 3, root staff ,,, 19, Aug 23, 00:47 包括
drwxr-x——安康;2,root root ,, 4096, Aug 23, 00:47 自由
drwxr-x——安康;2,root root ,,,,, 6, Aug 12, 08:20 日志
drwxr-sr-x 3, root staff ,, 151, Aug 23, 00:47 native-jni-lib
drwxr-x——安康;2,root root ,,,, 30, Aug 23, 00:47 临时
drwxr-x——安康;7,root root ,,,, 81, Aug 12, 08:21 webapps
drwxr-x——安康;2,root root ,,,,, 6, Aug 12, 08:20 工作
>之前
,,,通过上面可以看的出,最后面的ls - l覆盖了启动tomcat的操作。这就是CMD会被码头工人之运行后的参数替换。
入口点
,,,码头工人之运行后的参数会被当做参数传递给入口点,之后形成新的命令组合。
案例1:制作CMD版可以查询IP信息的容器
<前>
(root@t-docker CMD) #, cat Dockerfile
得到centos
RUN yum  -y install 旋度
(“curl" CMD ,“-s",“http://ip.cn"】
(root@t-docker CMD) #, docker build -f Dockerfile -t myip 。
Sending build  context 用Docker daemon 2.048 kb
Step 1/3 :得到centos
5182年,——→e96772bf
Step 2/3 : RUN yum -y install 旋度
,——→Running aa5e5f0a8597拷贝
Loaded 插件:,fastestmirror, ovl
Determining fastest 镜子
,*基础:mirrors.huaweicloud.com
,*临时演员:mirrors.huaweicloud.com
,*更新:mirrors.neusoft.edu.cn
Package curl - 7.29.0 - 46. el7.x86_64  already installed 以及latest 版本
Nothing 用
Removing intermediate  container aa5e5f0a8597
,——→a35f6ad9700f
Step 3/3 : CMD [“curl",“-s",“http://ip.cn"。)
,——→Running f59369e2a7db拷贝
Removing intermediate  container f59369e2a7db
,——→ecf0b349d6a1
Successfully built  ecf0b349d6a1
Successfully tagged  myip:最新