ENTRYPOINT于CMD命令在Dockerfile中使用有哪些区别-创新互联

今天就跟大家聊聊有关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]#

分享文章:ENTRYPOINT于CMD命令在Dockerfile中使用有哪些区别-创新互联
标题路径:http://ybzwz.com/article/hocjg.html