#### 目标
使用容器技术部署php运行环境
#### 安装前准备
1GB空闲内存,1GB硬盘空间
#### 自定义docker网络
```
docker network create my_app_network
```
#### 容器化php安装(版本7.3.*)
* 从百度云盘下载php7.3的x86的镜像压缩文件
```
链接:
https://pan.baidu.com/s/1qFNFXNJT1aqT5ulhJYV04A?pwd=1234 提取码: 1234
```
* 将压缩包导入镜像
```
docker load < my-php7.3-x86-app.tar.gz
```
* 创建并运行容器
***宿主机必须存在/var/www/site1文件夹,否则无法同步***
```
docker run -d --name site1 -v /var/www/site1:/var/www/html -p 9001:9000 my-php7.3-x86-app:latest
```
* 链接到网络
```
docker network connect my_app_network site1
```
#### apache安装(版本2.24.*)
* 安装
```
yum update -y
yum install httpd -y
systemctl start httpd
systemctl enable httpd
systemctl status httpd
```
* 配置
在/etc/httpd/conf.d文件夹下增加site1.conf文件,文件内容如下
```
touch /etc/httpd/conf.d/site1.conf
```
```apache
<VirtualHost *:80>
ServerName {site1.example.com}
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9001/var/www/html/{public}/$1
DocumentRoot {/var/www/site1/public}
<Directory {/var/www/site1}>
DirectoryIndex index.php
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
```
* {}里面的内容是变量,需要根据实际情况替换,如果使用的是thinkphp技术,可以把变量周围的{}去掉直接使用
* {site1.example.com}站点域名
* {public}项目在php7.3容器内的执行相对路径
* {/var/www/site1/public}项目执行路径
* {/var/www/site1}项目路径
* 配置完毕后一定要重启systemctl restart httpd生效
#### 注意事项
* docker的离线安装可以参考[中标麒麟(kylin、neokylin)离线部署PolarDB-X企业版集群单container开发环境介绍](
https://app.yinxiang.com/fx/98195601-0bec-49f9-82e4-16f2dbe5f861)的docker离线安装部分
* 笔者在安装时候发现缓存影响安装效果查看,这个时候可以把宿主机重启