我必须创建一个centos基础Docker镜像,并且我需要在其中安装apache。我已经创建了一个docker文件,内容如下:
FROM centos:7
Run yum update && yum install httpd httpd-tools -y需要做的是:当我运行容器时,它应该指向浏览器,比如localhost:8090。我能得到做同样事情的步骤吗?
有人能帮上忙吗?
发布于 2016-12-04 00:07:58
首先,我们需要调整Dockerfile中的一些内容:
FROM centos:7
RUN yum update -y && yum install httpd httpd-tools -y
EXPOSE 80
CMD ["/usr/sbin/httpd","-D","FOREGROUND"]Expose指令将告诉Docker引擎80应该可用于发布到主机。由于服务不是在容器中运行,而是在应用程序中运行,因此我们将在前台(/usr/sbin/httpd -D前台)手动启动httpd。
然后在与docker文件相同的目录中,发出docker build
docker build -t "centosapache:0.1" .您的docker run命令将如下所示
docker run -d -p 8090:80 -v /home/user/web:/var/www/html centosapache:0.1PHP以分离或守护程序模式对其进行初始化-p将主机上的8090端口映射到容器的80端口-v会将主机的/home/user/web目录映射到容器的/var/www/html (可选,但对于-d来说很棒)
然后,我们只需指定要运行的映像和版本。由于docker文件的默认CMD是启动apache,因此您不需要覆盖它。
https://stackoverflow.com/questions/40948369
复制相似问题