O Nginx Proxy permite que tenha múltiplos containers com nginx usando a porta 80.
docker network create nginx-proxy
git clone https://github.com/gustavorglima/nginx-proxy.git
cd nginx-proxy
docker-compose up -d
Adicione a seguinte network no seu docker-compose:
nginx-proxy:
external:
name: nginx-proxy
Configure a porta:
ports:
- 81:80
Adicione a network:
networks:
- nginx-proxy
Adicione o environment com domínio desejado:
environment:
- VIRTUAL_HOST=site.test
Adicione o VIRTUAL_HOST criado acima no arquivo hosts:
sudo sh -c 'echo "127.0.0.1 site.test" >> /etc/hosts'
Caso queira adicionar em outros docker basta mudar a porta do nginx, por exemplo:
ports:
- 82:80
version: "3"
networks:
network:
nginx-proxy:
external:
name: nginx-proxy
services:
php:
build:
context: ./docker/php
expose:
- 9000
networks:
- network
nginx:
build:
context: ./docker/nginx
ports:
- 81:80
networks:
- network
- nginx-proxy
environment:
- VIRTUAL_HOST=site.test