十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天就跟大家聊聊有关ENTRYPOINT于CMD命令在Dockerfile中使用有哪些区别,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联公司主营岳西网站建设的网络公司,主营网站建设方案,重庆APP开发,岳西h5微信小程序开发搭建,岳西网站营销推广欢迎岳西等地区企业咨询CMD 指令
CMD 指令指定容器启动时需要运行的程序。一般用最简单的方式启动一个容器时使用docker run 会传递参数给docker指令
docker run -it image /bin/bash
后面的/bin/bash 其实是传递参数,告知容器启动时运行一个shell。这个过程可以用CMD 指令等效的替换
CMD ['/bin/bash']
因此在Dockerfile中存在这个CMD指令指定的命令时,启动容器就可以不进行参数传递。
docker run -it image
执行效果一致。
[root@MiWiFi-R3L-srv test]# docker run --name test -it test_image
[root@3a1bb0c9e35c /]#
如果dockerfile中已经指定了容器启动时运行的程序,同时在使用docker run 启动容器时使用了命令行参数,那么dockerfile 中的cmd 指令将无效
docker run -it image /bin/ps
发现启动容器后没有shell ,只是打印出了当前容器中的进程状态,cmd 指令效果被覆盖。
PID TTY TIME CMD 1 ? 00:00:00 ps [root@MiWiFi-R3L-srv test]#