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。
步骤2: 执行 docker build 命令来构建 Docker 文件,我们将镜像标记为mywebserver,镜像构建后,将收到一条成功消息表明文件已构建:
sudo docker build –t=”mywebserver” .
步骤3: 现在web服务器文件已经构建好了,接着执行 docker run 命令从镜像创建一个容器了:
sudo docker run –d –p 80:80 mywebserver
上述命令需要注意以下几点:
容器暴露的端口号是 80,因此需要 –p 选项,我们将相同的端口号映射到本地主机上的 80 端口号;
–d 选项用于在分离模式下运行容器,这是为了容器可以在后台运行。
如果在 Web 浏览器中访问 Docker 主机的端口 80,将看到 Apache 已启动并正在运行。