好吧,只是学习如何创建 Dockerfile,我的理解(这可能是错误的)是,CMD 命令应该能够在将 shell 脚本放置到容器中后从容器内运行它。

我只是尝试使用普通的 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 错误?在这种情况下我应该如何使用它?

请您参考如下方法:

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

另请检查docs

The main purpose of a CMD is to provide defaults for an executing container. These defaults can include an executable, or they can omit the executable, in which case you must specify an ENTRYPOINT instruction as well.


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!