首先写一个脚本用来创建目录
#创建网站根目录
mkdir /wwwroot
#nginx1 配置只用做转发
mkdir -p /nginx/nginx1
#nginx1中要配置上游集群,由于需要php,需要设置ip_hash策略
#nginx2 用来做集群中的nginx配置 多个docker 容器挂载相同的配置文件,方便统一管理
mkdir -p /nginx/nginx2
mkdir /php
...
...
#创建目录后注意copy配置文件
然后写一个docker-compose.yml文件用来部署容器
version: '3'
services:
nginx1:
container_name: nginx1
image: nginx
volumes:
- /wwwroot:/www
- /nginx/nginx1/conf/conf.d:/etc/nginx/conf.d
- /nginx/nginx1/conf/nginx.conf:/etc/nginx/nginx.conf
- /nginx/nginx1/logs:/var/log/nginx
links:
- 'nginx2:nginx2'
- 'nginx3:nginx3'
ports:
- '443:443'
- '80:80'
restart: 'always'
nginx2:
container_name: nginx2
image: nginx
volumes:
- /wwwroot:/www
- /nginx/nginx2/conf/conf.d:/etc/nginx/conf.d
- /nginx/nginx2/conf/nginx.conf:/etc/nginx/nginx.conf
- /nginx/nginx2/logs:/var/log/nginx
- /nginx/nginx2/cert:/var/cert
restart: 'always'
links:
- 'php2:php-fpm'
nginx3:
container_name: nginx3
image: nginx
volumes:
- /wwwroot:/www
- /nginx/nginx2/conf/conf.d:/etc/nginx/conf.d
- /nginx/nginx2/conf/nginx.conf:/etc/nginx/nginx.conf
- /nginx/nginx2/logs:/var/log/nginx
- /nginx/nginx2/cert:/var/cert
restart: 'always'
links:
- 'php3:php-fpm'
php2:
container_name: php2
image: php:fpm
volumes:
- /wwwroot:/www
- /php/php2/php.ini:/usr/local/etc/php/php.ini
- /php/php2/php-fpm.conf:/usr/local/etc/php-fpm.conf
- /php/php2/php-fpm.d:/usr/local/etc/php-fpm.d
php3:
container_name: php3
image: php:fpm
volumes:
- /wwwroot:/www
- /php/php2/php.ini:/usr/local/etc/php/php.ini
- /php/php2/php-fpm.conf:/usr/local/etc/php-fpm.conf
- /php/php2/php-fpm.d:/usr/local/etc/php-fpm.d
然后docker-composer up -d 就ok了