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目录的
- 命令
mkdir -p /docker/nginx/www/myphp (-p代表递归创建,按目录层级创建目录)
- 命令
- 创建容器:docker run –name myphp -v /docker/nginx/www/myphp:/www/myphp -d c5fdabeef32a创建运行php的容器,名为myphp
- -v代表挂载目录,将服务器外面的目录与创建的容器里的目录进行挂载,以后修改代码直接在容器外的服务器目录就可以修改了
- -d代表后台运行
- 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配置。
- 通过docker exec -it mynginx /bin/bash进入容器
- vim /etc/nginx/nginx.conf 编辑配置文件
# 如果没有vim,通过下面的命令进行安装vim apt-get update #更新包管理 apt-get install vim -y #安装vim
测试
在我们之前创建的/docker/nginx/www/myphp文件夹中创建一个index.php
<?php echo phpinfo(); ?>
访问
声明:本站所有资源,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。