使用 docker 部署 nginx1.15.11 + php7.1
本文参考:
docker安装
- 略
使用 docker 部署 nginx
- 使用
docker pull nginx:1.15.11
获取 nginx-1.15.11 镜像 - 使用
docker run -itd -p 888:80 --name nginx-test nginx:1.15.11
创建一个 名为 nginx-test 的 nginx 容器
参数说明:
-i 交互式操作
-t 终端
-d 后台运行
--name 容器名称
-p 端口映射 : 前面是主机端口 : 后面是容器端口
这时可以使用 主机:888 访问到 nginx 欢迎页面
docker run -itd -p 888:80 --name nginx-temp -v D:\temptest\nginx\conf\default.conf:/etc/nginx/conf.d/default.conf -v D:\temptest\nginx\logs:/var/log/nginx -v D:\temptest\nginx\www:/usr/share/nginx/html nginx:1.15.11
参数说明:
-v 挂载目录/文件 : 前面是主机目录/文件 : 后面是容器目录/文件
将本地文件映射到容器中,其中 D:\temptest\nginx\*
是本地路径,这里的 default.conf 是从 容器中复制出来的(使用 docker cp nginx-test:/etc/nginx/conf.d/default.conf D:\temptest\nginx\conf\default.conf
)要注意的是 nginx 的不同版本或在不同环境中的配置文件路径可能不同,需要自行查看
使用 docker 部署 php
- 使用
docker pull php:7.4-fpm
获取 php:7.4-fpm 镜像 - 使用
docker run -d --name php-test -p 9000:9000 -v D:\temptest\nginx\www:/usr/share/nginx/html php:7.4-fpm
创建一个 名为 php-test 的 php 容器
修改并配置 nginx
配置修改如图
- 将 index.php 添加到 index中
- 将 fastcgi_param SCRIPT_FILENAME 修改为 $document_root$fastcgi_script_name
- 将 fastcgi_pass 修改为 172.17.0.3:9000
172.17.0.3
这个 IP 地址是通过docker inspect php-test
查询得到的
在 Windows 中可以通过docker inspect php-test > ./temp.txt
将结果输出到 temp文件中查找 "IPAddress"
在 Linux 中可以使用docker inspect php-test | grep "IPAddress"
过滤出结果
在 Windows 中
在 Linux 中可能会得到(图片来自网络)
完成
附录:
- 在 docker 中为 php 安装 mysqli 及 pdo 扩展
docker-php-ext-install mysqli pdo pdo_mysql
- 在 docker 中为 php 安装 php-redis
先下载redis
curl -L -o /tmp/redis.tar.gz github.com/phpredis/ph…
解压
tar xfz /tmp/redis.tar.gz
删除压缩包
rm -r /tmp/redis.tar.gz
创建 PHP 插件目录
mkdir -p /usr/src/php/ext
将解压得到的文件移动到 PHP 插件目录
mv phpredis-5.3.4 /usr/src/php/ext/redis
安装
docker-php-ext-install redis