docker搭php环境

一、web服务

要使用docker运行web服务,需要简单了解web服务器。

Web服务器概念较为广泛,我们最常说的Web服务器指的是网站服务器,它是建立在Internet之上并且驻留在某种计算机上的程序。Web服务器可以向Web客户端(如浏览器)提供文档或其他服务,只要是遵循HTTP协议而设计的网络应用程序都可以是Web客户端。

Web服务器和HTTP服务器可以说是同一个东西,当然非得细分的话,HTTP服务器是建立在HTTP协议之上的提供文档浏览的服务器,更多的是提供静态的文件。而Web服务器涵盖了HTTP服务器, 不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。

即 Web服务器 ≈ HTTP服务器 + 其他服务。

目前所熟知的Web服务器有很多,其最主流的是 Apache, Nginx, IIS。

二、docker部署apache+php

1、拉取镜像

docker pull php:7.2-apache

2、创建src目录,存放web目录

mkdir /data/src

3、创建测试文件

vim /data/src/info.php
<?php
phpinfo();
?>

4、创建容器

docker run -itd -v /data/src:/var/www/html -p 7777:80 php:7.2-apache

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

-v /data/src:/var/www/html 将主机的/data/src 目录挂载到容器的 /var/www/html。

5、测试访问

http://xxxx/info.php

三、关于报错

1、近日在重启apache2时遇到一个报错:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.5. Set the 'ServerName' directive globally to suppress this message

I docker run 
AH66ssg: reliably fully 
using 172.18.a.s. 
Set

2、网上查阅到的方法大多是修改apache2的配置文件,如下

#编辑apache2.conf
vim /etc/apache2/apache2.conf

#在文件最后添加一行
ServerName localhost:80

#保存并重启Apache2
service apache2 restart

寻多次apache2.conf未果,双手一摊摆了。

3、结果实际上是...apache2未开启,开了就完事了...

services apache2 start

 

参考

https://www.cnblogs.com/BOHB-yunying/articles/10911192.html

https://www.cnblogs.com/yyxianren/p/12082747.html

 

 
posted @ 2021-11-24 10:52  kinyoobi  阅读(261)  评论(0编辑  收藏  举报