有关Dockerfile创build的问题

我是docker工人的新手,并试图了解如何创builddocker文件。 虽然尝试相同,我创build了这个示例文件

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 

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

apache2的通常CMD应该是

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

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

这里不需要ENTRYPOINT :Docker维护一个默认入口点/bin/sh
所以这(与CMD )是一样的:

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