Dockerfile – CMD不运行shell脚本
好吧,刚刚学习创build一个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
错误,在这种情况下应该如何使用它?
- 在您构build图像时执行
RUN
。 这通常用于安装东西或在生成的图像中执行修改。 -
CMD
在容器启动时执行。 用这个来启动应用程序。
另外检查文档
CMD的主要目的是为正在执行的容器提供默认值。 这些默认值可以包含可执行文件,也可以省略可执行文件,在这种情况下,您还必须指定一个ENTRYPOINT指令。