创建一个新的网络连接
docker network create --subnet=172.10.0.0/24 mbsnet docker network list
设
mysql:172.10.0.10
nginx:172.10.0.2
php-fpm:172.10.0.3
swoole:172.10.0.4
先在/opt/mysql/conf/my.cnf中添加以下内容
max_connections=1000 wait_timeout=120 interactive_timeout=300 lower_case_table_names=1
#mysql docker run \ -p 3306:3306 \ --name mysql \ --restart=always \ --net mbsnet --ip 172.10.0.10 \ -v /opt/mysql/conf:/etc/mysql \ -v /opt/mysql/logs:/var/logs/mysql \ -v /dbdata/mysql/:/var/lib/mysql \ -v /dbdata/mysql-files:/var/lib/mysql-files \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql
#nginx docker run --name nginx --restart=always \ --net mbsnet --ip 172.10.0.2 \ -p 80:80 -p 443:443 -p 8230:8230 \ -v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /opt/nginx/logs:/var/log/nginx \ -v /opt/nginx/html:/usr/share/nginx/html \ -v /opt/nginx/conf:/etc/nginx/conf.d \ -v /wwwroot:/htdoc \ -d nginx
#php-fpm docker run -d --name php --restart=always -p 9000:9000 \ --net mbsnet --ip 172.10.0.3 \ -v /wwwroot:/var/www/html bitnami/php-fpm
在nginx中的root 为/htdoc 对应的是 主机的/wwwroot
在php-frm中的/var/www/html对应的/wwwroot
如 主机中的 /wwwroot/abc.com
对应的nginx中要写成 /htdoc/abc.com
对应的php-fpm模块中要写成 /htdoc/abc.com
docker pull phpswoole/swoole:latest docker run --name swoole --restart=always \ --net mbsnet --ip 172.10.0.4 \ -v /wwwroot:/var/www \ -d phpswoole/swoole:latest \
# 更新软件源 apt-get update # 安装相关库 apt-get install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev # 解压源码 docker-php-source extract # gd 源码文件夹 cd /usr/src/php/ext/gd docker-php-ext-configure gd --help //查看参数 docker-php-ext-configure gd --with-webp=/usr/include/webp --with-jpeg=/usr/include --with-freetype=/usr/include/freetype2 make && make install docker-php-ext-install gdapt-get update && apt-get install -y zlib1g-dev && apt-get install -y libzip-dev #安装并启动zip扩展 docker-php-ext-install zip
docker-php-ext-install mysqli pdo_mysql
查看所有容器IP
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress}}' $(sudo docker ps -aq)
#进容器
docker exec -it mysql /bin/bash

评论