码头工人笔记15-Dockerfile案例- cmd,入口点案例

  

  ,,,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:最新   

码头工人笔记15-Dockerfile案例- cmd,入口点案例