好吧,只是学习如何创建 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.




