Docker 安装和启用Apache
环境
操作系统:CentOS8 ,已安装Docker(CentOS 8 的docker安装 https://www.cnblogs.com/luyj00436/p/14515187.html)。
安装和运行步骤
1、用命令查看可用版本。
docker search httpd
2、获取相应的Apache镜像。这里,获取最新版本。
docker pull httpd:latest
等待安装还是需要时间的。
安装完成。
3、 可以看到,已安装了Apache镜像。
docker images httpd
4、打开端口8081(如果已打开,可以省略)。这里用firewarll-cmd命令(firewalls-cmd 的使用https://www.cnblogs.com/luyj00436/p/14528946.html)打开8081端口。
1 # 1.安装firewall(已存在则跳过该步骤)。 2 yum install firewalld 3 # 2. 开启firewall (已启动则跳过该步骤)。 4 systemctl start firewalld 5 # 或者设置开机启动。重启后,firewall仍然处于开启状态。 6 systemctl enable firewalld 7 # 开放端口8081,其中–permanent永久生效,如果没有这个参数,重启后失效。 8 firewall-cmd --add-port=8081/tcp --permanent 9 # 4. 重新载入,更新防火墙规则。 10 firewall-cmd --reload 11 # 5. 此时,8081端口已经打开,可以查看开放的端口。 12 firewall-cmd --zone=public --list-ports
5、安装临时容器,并测试。安装临时容器的目的是为了复制配置到宿主机。
docker run -di --name httpd-test -p 8081:80 httpd
参数说明:
参数 |
说明 |
--httpd-test |
容器名称。如果没有这个参数,将自动生成。 |
-p 8081:80 |
端口进行映射。将本地8081端口映射到容器内部的80端口。 也就是说,我们将使用8080访问apache |
接下来,浏览器访问测试apache,发现容器已经安装成功。
6、创建目录apache,用于存放安装映射相关的东西。
mkdir -p ~/apache/www ~/apache/logs ~/apache/conf
目录映射关系
目录 |
说明 |
www |
映射为 apache 容器配置的应用程序目录 |
Logs |
映射为 apache 容器的日志目录 |
conf |
目录里的配置文件将映射为 apache 容器的配置文件 |
7、复制容器的配置文件到conf ,并删除容器。
a) 找到运行中的http容器。
docker ps -a
b) 复制查询到的容器id。并根据容器Id拷贝apache默认文件到本地当前目录下的conf目录。
docker cp [容器id]:/usr/local/apache2/conf/httpd.conf /root/apache/conf
c) 删除临时容器。
1 docker stop [容器id] 2 docker rm [容器id]
8、运行容器。
docker run --name http -p 8081:80 -v /root/apache/www/:/usr/local/apache2/htdocs/ -v /root/apache/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf -v /root/apache/logs/:/usr/local/apache2/logs/ -d httpd
参数说明:
参数 |
说明 |
--name http |
容器名称。如果没有这个参数,将自动生成。 |
-p 8081:80 |
端口进行映射。将本地8081端口映射到容器内部的80端口。 也就是说,我们将使用8080访问apache |
-v root/apache/www/:/usr/local/apache2/htdocs/ |
将目录下/root/apche/www挂载到容器的 /usr/local/apache2/htdocs/ |
-v /root/apache/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf |
将目录/root/apache/conf/httpd.conf 文件挂载到容器的 /usr/local/apache2/conf/httpd.conf |
-v /root/apache/logs/:/usr/local/apache2/logs/ |
将目录/root/apache/logs 目录挂载到容器的 /usr/local/apache2/logs/ |
-d httpd |
设置一个容器在后台运行。 |
容器创建完成。
查看容器是否运行。
docker ps -a
这时候,我们能通过浏览器访问Tomcat来验证是否运行成功。
参考网址
Docker 安装Apache: https://www.runoob.com/docker/docker-install-apache.html
Docker 安装 Apache : https://blog.csdn.net/u012965203/article/details/95867342