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
