docker配置 nginx , mysql ,php-fpm

本文介绍了使用Docker部署Nginx、MySQL、PHP-FPM及Swoole的方法。包括创建自定义网络(mbsnet)并分配静态IP,运行各容器时挂载配置文件、日志和数据卷,以及PHP扩展的安装(gd、zip、mysqli等)。适用于快速搭建统一的Web开发环境。

作者:zhuge···预计阅读 13 分钟·816 阅读·0 评论
docker配置 nginx , mysql ,php-fpm

创建一个新的网络连接

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 gd

apt-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

相关文章

评论

加载中...