Docker搭建PHP开发环境

本文介绍了如何使用Docker快速拉取官方Nginx镜像并创建容器,配置Nginx的default.conf文件,进行端口映射和数据卷挂载。接着展示了启动PHP 7.4-fpm容器的步骤,最后提到了在宿主机上创建index.php文件以完成基本的PHP运行环境。整个过程涉及到Docker命令行操作和容器间的通信设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接拉去官方nginx镜像(Dockerfile创建镜像太慢了)

docker pull nginx

新建nginx的配置文件,准备做映射
/docker/nginx/default.conf

server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;
    root /docker/www/lmrs/public;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /docker/www/lmrs/public;
    }

    location ~ \.php$ {
        root /docker/www/lmrs/public;
        fastcgi_pass   192.168.115.128:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

准备就绪后直接创建容器

docker run -p 80:80 -itd --name nginx -v /docker/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /docker/www/lmrs/public:/docker/www/lmrs/public --privileged=true nginx
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
--name: 为容器指定一个名称;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-v: 绑定一个卷
--privileged=true 添加权限

执行的时候有可能会报这个错误,然后去万能的百度一下

WARNING: IPv4 forwarding is disabled. Networking will not work

修改这个文件,在最后添加
vim /usr/lib/sysctl.d/00-system.conf

net.ipv4.ip_forward=1

再次创建nginx容器即可

docker rm $(docker ps -qa) // 删除当前全部容器

拉去php镜像文件,指定版本为7.4

docker pull php:7.4-fpm

创建php容器

docker run -itd -p 9000:9000 --name php -v /docker/www/lmrs:/docker/www/lmrs --privileged=true php:7.4-fpm

在宿主机/docker/www/lmrs/public目录下添加index.php文件访问即可
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值