如何解决使用 docker file
我们想使用 docker 文件安装和运行 apache。 所以我们的 Dockerfile 看起来像:
FROM ubuntu
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y update
RUN apt-get -y install apache2
EXPOSE 80
CMD ["/etc/init.d/apache2","start","-D","FOREGROUND"]
sudo docker build -t my-apache-image .
sudo docker container run -d -P --name my-apache-container my-apache-image
但是 docker 容器不起作用。关于为什么这个指令的任何帮助
"CMD ["/etc/init.d/apache2","FOREGROUND"]"
不起作用?
解决方法
首先,我不建议使用 sudo 来运行 docker。
其次,我建议使用官方 httpd:2.4 的 build Dockerfile,而不是 ubuntu:
FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/
因此,docker 文件应如下所示:
FROM httpd:2.4
COPY ./public-html/ /usr/local/apache2/htdocs/
EXPOSE 80
RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
CMD ["/usr/sbin/apache2ctl","-D","FOREGROUND"]
和构建/运行:
$ docker build -t my-apache2 .
$ docker run -dit --name my-running-app -p 8080:80 my-apache2
如果您想运行一个简单的 HTML 服务器,请在您的项目中添加一个简单的 Dockerfile,其中 public-html/ 是包含所有 HTML 的目录。
编辑,添加官方httpd docker镜像。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。