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 @ 2023-03-23 14:12  不一样的开始  阅读(312)  评论(0编辑  收藏  举报