docker-compose.yml
version: "3.7"
services:
main:
image: nginx:1.17
ports:
- 80:80
volumes:
- /opt/www/main.conf:/etc/nginx/conf.d/default.conf
app1:
image: nginx:1.17
ports:
- 81:80
volumes:
- /opt/www/app.conf:/etc/nginx/conf.d/default.conf
- /opt/www/app1.html:/var/www/myapp/index.html
app2:
image: nginx:1.17
ports:
- 82:80
volumes:
- /opt/www/app.conf:/etc/nginx/conf.d/default.conf
- /opt/www/app2.html:/var/www/myapp/index.html
app1.html
app1
app2.html
app2
main.conf
upstream backend {
server app1;
server app2;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
location / {
add_header X-Content-Type-Options nosniff;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_hide_header X-Powered-By;
proxy_hide_header Vary;
proxy_pass http://backend;
proxy_redirect off;
}
}
app.conf
server {
server_name _;
root /var/www/myapp;
index index.php index.html index.htm;
access_log /var/log/nginx/front-access.log;
error_log /var/log/nginx/front-error.log;
}
启动
#启动或修改docker-compose.yml后重启
docker-compose up -d
#重新容器(不修改docker-compose.yml)
docker-compose restart