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 Hub、Docker 的源代码仓库等。