Docker 安装 Apache

Apache 是 Apache 软件基金会的一个开源的 Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性而被广泛使用,是最流行的 Web 服务器软件之一。

Docker Hub 提供了各个版本的 CentOS Apache 官方镜像,Apache 官方镜像名称为 httpd,我们可以根据自己的需求选择合适的版本下载。

1. 查看可用的 httpd 版本

访问 httpd 镜像库地址:https://hub.docker.com/_/httpd

可以通过 Sort by 查看其他版本的 httpd,默认是最新版本 httpd:latest

此外,我们还可以用 docker search httpd 命令来查看可用版本:

$ docker search httpd
NAME                           DESCRIPTION                  STARS  OFFICIAL AUTOMATED
httpd                          The Apache HTTP Server ..    524     [OK]       
centos/httpd                                                7                [OK]
rgielen/httpd-image-php5       Docker image for Apache...   1                [OK]
microwebapps/httpd-frontend    Httpd frontend allowing...   1                [OK]
lolhens/httpd                  Apache httpd 2 Server        1                [OK]
publici/httpd                  httpd:latest                 0                [OK]
publicisworldwide/httpd        The Apache httpd webser...   0                [OK]
rgielen/httpd-image-simple     Docker image for simple...   0                [OK]
solsson/httpd                  Derivatives of the offi...   0                [OK]
rgielen/httpd-image-drush      Apache HTTPD + Drupal S...   0                [OK]
learninglayers/httpd                                        0                [OK]
sohrabkhan/httpd               Docker httpd + php5.6 (...   0                [OK]
aintohvri/docker-httpd         Apache HTTPD Docker ext...   0                [OK]
alizarion/httpd                httpd on centos with mo...   0                [OK]
...

2. 拉取指定版本的 httpd 镜像

我们这里选择安装最新版本的 httpd:

$ docker pull httpd

3. 查看本地镜像

使用以下命令来查看是否已安装了 httpd:

$ docker images

执行结果:
REPOSITORY  TAG     IMAGE ID...
httpd       latest  da1536b4ef14

4. 运行 httpd 容器

$ docker run -p 80:80 -v $PWD/www/:/usr/local/apache2/htdocs/ -v $PWD/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf -v $PWD/logs/:/usr/local/apache2/logs/ -d httpd

命令说明:

-p 80:80: 将容器的 80 端口映射到主机的 80 端口。

-v $PWD/www/:/usr/local/apache2/htdocs/: 将主机中当前目录下的 www 目录挂载到容器的 /usr/local/apache2/htdocs/。

-v $PWD/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf: 将主机中当前目录下的 conf/httpd.conf 文件挂载到容器的 /usr/local/apache2/conf/httpd.conf。

-v $PWD/logs/:/usr/local/apache2/logs/: 将主机中当前目录下的 logs 目录挂载到容器的 /usr/local/apache2/logs/。

5. 查看 httpd 容器运行情况

$ docker ps

执行结果:
CONTAINER ID  IMAGE   COMMAND...
79a97f2aac37  httpd   "httpd-foreground"

我们可以通过浏览器可以直接访问 http://localhost,浏览器会显示 apache 首页,说明 httpd 容器运行正常。

下一章:Docker 资源大全

编程宝库收集了国内外有关 Docker 官方资源、学习资料以及国内镜像等内容,帮助大家更好地学习 Docker,使用 Docker。官方资源包括:Docker官方主页、Docker 官方博客、Docker 官方文档、Docker Hub、Docker 的源代码仓库等。