https://notemi.cn/docker-quickly-set-up-php-nginx-mysql-environment.html


    1、设置docker
    {
    “registry-mirrors”: [
    https://ow2enw8q.mirror.aliyuncs.com” // 指定阿里镜像加速器
    ],
    “insecure-registries”: [],
    “debug”: false,
    “experimental”: true // 设置为true,Windows需开启Hyper-V(解决错误no matching manifest for windows/amd64 10.0.18362 in the manifest list entries)
    }


    更新安装软件:
    apt-get update
    apt-get install procps
    apt-get install vim
    apt install iputils-ping


    MySQL:
    1、docker pull mysql:5.7
    2、docker run \
    -d \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=12345678910 \
    -v D:/container/mysql/conf:/var/lib/mysql \
    —name mysql mysql:5.7
    3、docker exec -it mysql /bin/bash

    PHP:
    1、docker pull php:7.3-fpm
    2、docker run \
    -d \
    -p 9000:9000 \
    -v D:/code/php/soterea:/usr/share/nginx/html \
    —link mysql:mysql \
    —name php php:7.3-fpm
    3、docker exec -it php /bin/bash
    4、安装扩展:
    1、下载扩展:wget https://pecl.php.net/get/swoole-4.7.0.tgz
    2、解压:tar -xvf swoole-4.7.0.tgz
    3、在PHP容器中创建一个/usr/src/php的目录:docker-php-source extract
    4、移动源码到指定目录:mv phpredis-5.0.2 /usr/src/php/ext/swoole
    5、安装:docker-php-ext-install swoole
    扩展目录:/usr/local/lib/php/extensions/no-debug-non-zts-20180731/extension=xdebug.so
    6、如果安装gd库报png.h错误,则 apt-get install libpng-dev

    Nginx:
    1、docker pull nginx:latest
    2、docker run \
    -d \
    -p 80:80 \
    -v D:/code/php/soterea:/usr/share/nginx/html \
    -v D:/container/nginx/conf.d:/etc/nginx/conf.d \
    —link php:php \
    —name nginx nginx

    Composer:
    1、curl -sS https://getcomposer.org/installer | php
    2、配置全局命令:mv compose.phar /usr/local/bin/composer
    3、切换国内镜像源:composer config -g repo.packagist composer https://packagist.phpcomposer.com
    4、更新:composer selfupdate




    拷贝文件到宿主机:
    docker cp nginx:/etc/nginx/nginx.conf D:/container/nginx/nginx.conf
    docker cp D:/container/nginx/conf.d/base.service.conf nginx:/etc/nginx/conf.d/base.service.conf
    docker cp D:/container/nginx/conf.d/eoms.api.conf nginx:/etc/nginx/conf.d/eoms.api.conf
    docker cp D:/container/nginx/conf.d/monitoring.platform.v2.conf nginx:/etc/nginx/conf.d/monitoring.platform.v2.conf

    docker cp D:/container/nginx/conf.d/default.conf nginx:/etc/nginx/conf.d/default.conf

    docker cp php:/usr/local/etc/php-fpm.conf D:/container/php/etc/php-fpm.conf // 这个文件没啥用,不用修改
    docker cp php:/usr/local/etc/php-fpm.d/www.conf D:/container/php/etc/php-fpm.d/www.conf
    docker cp php:/usr/local/etc/php/php.ini D:/container/php/etc/php/php.ini

    docker cp D:/container/php/etc/php-fpm.d/www.conf php:/usr/local/etc/php-fpm.d/www.conf

    错误信息:Error response from daemon: filesystem operations against a running Hyper-V container are not supported
    处理方式:停止容器即可




    解决方法:
    修改php-fpm所在容器的/etc/php-fpm.d/www.conf文件
    把listen = 127.0.0.1:9000修改为
    listen = 0.0.0.0:9000