当前位置:   article > 正文

Dockerfile执行命令_dockerfile 里如何运行命令

dockerfile 里如何运行命令

RUN 和CMD 以及ENTRYPOINT 

1,RUN :在Build构建时执行命令

2,ENTRYPOINT :容器启动时执行命令

3,CMD: 容器启动后执行默认的命令或参数

《1》RUN --构建时运行

  1. RUN yum install -y vim #Shell命令格式
  2. RUN ["yum","install","-y","vim"] #Exec命令格式,推荐使用这种方式

《2》ENTRYPOINT --启动命令

  1. ENTRYPOINT :用户在容器启动时执行的命令
  2. Dockerfile中只有最后一个ENTRYPOINT 会被执行
  3. ENTRYPOINT ["ps"] #推荐使用Exec命令格式

《3》CMD --默认命令

  1. CMD用于设置默认执行的命令
  2. 如果Dockerfile中出现多个CMD,则只有最后一个被执行
  3. 如果容器启动时附加了指令,则CMD被忽略
  4. CDM ["ps","-ef"] #推荐使用Exec格式

CMD和ENTRYPOINT区别在于,ENTRYPOINT一定会执行,CMD不一定执行,如果Dockerfile中CMD和ENTRYPOINT都出现的话,会被联合使用,因为CMD可以通过容器启动时附加了指令覆盖的

  1. ENTRYPOINT ["echo"]
  2. CMD ["world!!"]
  3. 如果直接执行 docker run -it my/test:1.1(这是我用Dockerfile创建的镜像),则会输出“world!!”
  4. 但是如果执行 docker run -it my/test:1.1 mytest!!! 则会输出“mytest!!!”

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/928906
推荐阅读
  

闽ICP备14008679号