Docker 设置 Apache


我们已经学习了如何使用 Docker File 来构建自己的镜像,现在让我们看看如何构建可用于构建容器的 Web 服务器镜像。

在例子中,我们将使用Ubuntu上的Apache网络服务器来构建镜像。

让我们按照下面的步骤,建立网络服务器Docker文件。

步骤1: 第一步是构建我们的Docker File,使用以下信息创建一个 Docker File:

FROM ubuntu 
RUN apt-get update 
RUN apt-get install –y apache2 
RUN apt-get install –y apache2-utils 
RUN apt-get clean 
EXPOSE 80 CMD [“apache2ctl”, “-D”, “FOREGROUND”]

需要注意以下几点:

  • 首先从 Ubuntu 基础镜像创建我们的镜像;

  • 然后,使用 RUN 命令更新 Ubuntu 系统上的所有软件包;

  • 然后,使用 RUN 命令在我们的镜像上安装 apache2;

  • 然后,使用 RUN 命令在我们的镜像上安装 apache2-utils 包;

  • 然后,使用 RUN 命令清除系统中所有不需要的文件。

  • EXPOSE 命令用于将容器中 Apache 的 80 端口暴露给 Docker 主机;

  • 最后使用cmd命令在后台运行apache2。

Apache2

步骤2: 执行 docker build 命令来构建 Docker 文件,我们将镜像标记为mywebserver,镜像构建后,将收到一条成功消息表明文件已构建:

sudo docker build –t=”mywebserver” .

Mywebservers

步骤3: 现在web服务器文件已经构建好了,接着执行 docker run 命令从镜像创建一个容器了:

sudo docker run –d –p 80:80 mywebserver

Docker Run Command

上述命令需要注意以下几点:

  • 容器暴露的端口号是 80,因此需要 –p 选项,我们将相同的端口号映射到本地主机上的 80 端口号;

  • –d 选项用于在分离模式下运行容器,这是为了容器可以在后台运行。

如果在 Web 浏览器中访问 Docker 主机的端口 80,将看到 Apache 已启动并正在运行。

Apache is running