Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建配置了apache的centos的Docker映像?_Apache_Docker_Centos - Fatal编程技术网

如何创建配置了apache的centos的Docker映像?

如何创建配置了apache的centos的Docker映像?,apache,docker,centos,Apache,Docker,Centos,我必须创建centos base Docker映像,并且需要在其中安装apache。我创建了一个docker文件,内容如下: FROM centos:7 Run yum update && yum install httpd httpd-tools -y 需要做的事情:当我运行容器时,它应该指向浏览器,比如localhost:8090。我可以得到同样的步骤吗 有人能帮忙吗?首先我们需要调整Dockerfile中的一些内容: FROM centos:7 RUN yum up

我必须创建centos base Docker映像,并且需要在其中安装apache。我创建了一个docker文件,内容如下:

FROM centos:7
Run yum update && yum install httpd httpd-tools -y
需要做的事情:当我运行容器时,它应该指向浏览器,比如localhost:8090。我可以得到同样的步骤吗


有人能帮忙吗?

首先我们需要调整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应可用于发布到主机。由于服务不在容器中运行,而只在应用程序中运行,因此我们将在前台手动启动httpd(/usr/sbin/httpd-D前台)

然后在与docker文件相同的目录中,发布docker构建

docker build -t "centosapache:0.1" .
您的docker run命令如下所示

docker run -d -p 8090:80 -v /home/user/web:/var/www/html centosapache:0.1
-d以分离或守护程序模式初始化它 -p将主机上的端口8090映射到容器的端口80 -v将把主机的目录/home/user/web映射到容器的/var/www/html(可选,但对于PHP来说很好)


然后,我们只需指定要运行的映像和版本。由于docker文件有一个启动apache的默认CMD,您不需要覆盖它。

首先,我们需要调整docker文件中的一些内容:

FROM    centos:7
RUN yum update -y && yum install httpd httpd-tools -y

EXPOSE  80

CMD     ["/usr/sbin/httpd","-D","FOREGROUND"]
Expose指令将告诉Docker引擎80应可用于发布到主机。由于服务不在容器中运行,而只在应用程序中运行,因此我们将在前台手动启动httpd(/usr/sbin/httpd-D前台)

然后在与docker文件相同的目录中,发布docker构建

docker build -t "centosapache:0.1" .
您的docker run命令如下所示

docker run -d -p 8090:80 -v /home/user/web:/var/www/html centosapache:0.1
-d以分离或守护程序模式初始化它 -p将主机上的端口8090映射到容器的端口80 -v将把主机的目录/home/user/web映射到容器的/var/www/html(可选,但对于PHP来说很好)


然后,我们只需指定要运行的映像和版本。由于docker文件具有启动apache的默认CMD,因此不需要重写它。

当我第一次尝试使用临时Dockerfile配置时,它失败并出现以下错误:
错误:服务“服务器”构建失败:命令“/bin/sh-c yum update&&yum install-httpd-httpd tools-y”返回一个非零代码:1
但是,通过将
-y
-assumeyes
添加到
yum update
,它就像一个符咒。谢谢,@Dockstar。当我第一次尝试使用临时Dockerfile配置时,它失败了,出现以下错误:
错误:服务“server”无法生成:命令“/bin/sh-c yum update&&yum install httpd httpd tools-y”返回了非零代码:1
,通过将
-y
-assumeyes
添加到
yum-update
,它就像一个符咒。谢谢,@Dockstar。