有关Dockerfile创建的问题

时间:2017-05-22 19:51:19

标签: docker dockerfile

我是docker的新手,并试图了解如何创建dockerfiles。 尝试相同的时候我创建了这个示例文件

FROM debian
RUN apt-get update && apt-get upgrade -y
RUN apt-get install apache2 -y
COPY ./index.html  /etc/www/html/
CMD service apache2 start && /bin/bash

CMD部分一直困惑我,我正在使用/ bin / bash,主要是因为我读到了某个地方,我们需要确保在我们提出它时Docker Image中有一些运行命令。我用它来运行图像: -

docker run -t -p 5000:8080 --name myfinal 912ccd578eae

我使用构建的图像的ID。正如你所看到的,我是一个新手,即使是最细微的细节也会有所帮助。

1 个答案:

答案 0 :(得分:2)

apache2的常用CMD应为

CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]

这样,您就不必使用“bash”技巧来保持前台进程的运行 任何退出信号都会正确影响apache2进程,而不是bash进程。

此处不需要ENTRYPOINT:Docker维护默认入口点/bin/sh 所以这个(CMD)与:

相同
 /bin/sh -c “apachectl -D FOREGROUND”