Docker搭建php开发环境

1. 第一步拉去需要的镜像(根据个人需要, 获取对应版本)

 

 

 

2. 创建自己的docker网络, 默认桥接模式

➜  ~ docker network create mynet
32c681d46c036dd9450e45f8930d7520f47f9fbb2df83c6348752d56683bcee5
➜  ~ docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
4a45750545f0   bridge    bridge    local
31d09483ca15   host      host      local
32c681d46c03   mynet     bridge    local
bacb36f06567   none      null      local

 

3. 在本地创建对应需要的文件夹, 方便后期修改对应配置文件

 

 

 

 

4. 安装mysql

 

 

复制代码
docker run --name mysql 
--restart=always ( Docker 重启时容器也跟随启动)
--privileged=true (Docker 为容易内的 root 用户赋予真正的 root 权限,不然会提示 log 目录权限不足)
-p 3306:3306 
-v /docker/mysql/conf:/etc/mysql/conf.d (将配置目录挂载到容器内的配置目录)
-v /docker/mysql/data:/var/lib/mysql (将数据存储目录挂载到容器内的出局存储目录)
-v /docker/mysql/log:/var/log/mysql (将日志目录挂载到容器内的日志目录)
-e MYSQL_ROOT_PASSWORD=root 
--net mynet (自己创建的docker网络) 
-d mysql
复制代码

 

 

 

5. 安装nginx

docker run --name nginx -p 80:80 -d -v /Desktop/Docker/lnmp/nginx/conf:/etc/nginx/conf.d -v /Desktop/Docker/lnmp/nginx/www:/usr/share/nginx/html -v /Desktop/Docker/lnmp/nginx/log:/var/log/nginx --net mynet nginx

安装完之后 打开浏览器 http://localhost:端口号  测试

 

 

 

6. 安装 php

  1. 先创建一个php容器用于cp配置文件

  

docker cp php-fpm:/usr/local/etc/php-fpm.d/www.conf docker/php/conf/www.conf
docker cp php-fpm:/usr/local/etc/php/php.ini-production docker/php/conf/php.ini

  2. 删除刚才创建的 php 容器

  3. 重新创建并挂在

docker run --name php74 -p 9000:9000 -d -v /Docker/lnmp/php/www:/var/www/html -v /Docker/lnmp/php/conf/www.conf:/usr/local/etc/php-fpm.d/www.conf -v /Docker/lnmp/php/conf/php.ini:/usr/local/etc/php/php.ini --net mynet php:7.4.33-fpm

7. nginx配置文件 

/docker/nginx/conf/default.conf 创建default.conf文件
复制代码
server {
        listen       80;
        server_name  localhost;
        root /var/www/html;
        charset utf-8;

        access_log  /var/log/nginx/access.log  main;
        error_log  /var/log/nginx/error.log;

        location / {
            index  index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$query_string;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        location ~ \.php$ {
            fastcgi_index index.php;
            #php-fpm容器名:端口号
            fastcgi_pass   php-fpm:9000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include       fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
}
复制代码

 

8. 新建phpinfo测试

在/docker/php/www下创建index.php

<?php
phpinfo();

打开localhost查看是否显示正常

 

posted @   不一样的开始  阅读(345)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示