docker搭建php环境
前言
本文主要参考:https://www.zhihao1.cn/91.html
主要介绍docker搭建php,docker安装使用请自查
docker拉取nginx和php镜像
docker pull nginx:latest
这里我直接拉最新版的niginx latest(最新版本)
docker pull php:7.4-fpm
php我们就拉php7.4版本的fpm就好了
使用docker images查看已安装的镜像
创建容器
- 先创建ngix文件夹存放等会php文件要挂载的目录,我创建在/docker/nginx/www/myphp目录的1. 命令
mkdir -p /docker/nginx/www/myphp (-p代表递归创建,按目录层级创建目录)
- 创建容器:
docker run --name myphp -v /docker/nginx/www/myphp:/www/myphp -d c5fdabeef32a
创建运行php的容器,名为myphp1.-v
代表挂载目录,将服务器外面的目录与创建的容器里的目录进行挂载,以后修改代码直接在容器外的服务器目录就可以修改了2.-d
代表后台运行3.c5fdabeef32a
代表php-fpm的镜像id,可通过docker images
进行查看安装的镜像 - 查看刚才运行的容器,通过
docker ps
查看 - 创建conf、conf.d目录
mkdir -p /docker/nginx/conf/conf.d
,一定要用mkdir -p
递归创建目录,即使上级目录不存在,会按目录层级自动创建目录 - 创建自己的conf文件,可以自己命名
vim myphp.conf``````erver { listen 80; server_name localhost; #这里修改成自己的域名,我这里是本地运行所以填的localhost location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } #当请求网站下php文件的时候,反向代理到php-fpm location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /www/myphp/$fastcgi_script_name; include fastcgi_params; }}
关于配置文件,这篇文章说的很详细:https://www.cnblogs.com/donghui521/p/10334776.html - 创建运行nginx的容器,打通nginx与php容器之间的关联
docker run --name nginx1 -p 8088:80 -d \-v /docker/nginx/www:/usr/share/nginx/html \-v /docker/nginx/conf/conf.d:/etc/nginx/conf.d \--link myphp:php nginx-p 主机和容器端口互联,主机8088:80-v 目录挂载-d 后台运行--link nginx和php容器互联
- 如果我们想进一步的修改nginx配置。1. 通过
docker exec -it mynginx /bin/bash
进入容器2.vim /etc/nginx/nginx.conf
编辑配置文件# 如果没有vim,通过下面的命令进行安装vimapt-get update #更新包管理apt-getinstallvim -y #安装vim
测试
在我们之前创建的/docker/nginx/www/myphp文件夹中创建一个index.php
<?phpechophpinfo();?>
访问
版权归原作者 dodadu 所有, 如有侵权,请联系我们删除。