Dockerfile - CMD不运行shell脚本

时间:2017-01-28 20:53:33

标签: docker cmd dockerfile

好的,只是学习创建一个Dockerfile,我的理解(这可能是错误的)是CMD命令应该能够在容器内放置shell脚本。

我只是尝试使用vanilla apache2安装

Dockerfile

FROM ubuntu:latest

ADD install-apache.sh /Scripts/install-apache.sh
RUN chmod +x /Scripts/install-apache.sh
CMD [/Scripts/install-apache.sh]



RUN echo "Hope this worked!"

我也试过这个:

CMD ["/Scripts/install-apache.sh"]

当我使用RUN命令时,它可以工作(没有[和])

所以我有点迷失CMD的假设。

我按照http://kimh.github.io的说明操作 并阅读docker文档。

问题: 我如何使用CMD错误,我应该如何在这种情况下使用它?

1 个答案:

答案 0 :(得分:5)

    在构建图像时执行
  • RUN。这通常用于在生成的图像中安装或执行修改。
  • 启动容器时执行
  • CMD。用它来例如启动应用程序。

同时检查docs

  

CMD的主要目的是为执行提供默认值   容器。这些默认值可以包含可执行文件,也可以省略   可执行文件,在这种情况下,您必须指定ENTRYPOINT   指导也是如此。