nginx-proxy configura um contêiner executando nginx e docker-gen. docker-gen gera configurações de proxy reverso para nginx e recarrega o nginx quando os contêineres são iniciados e parados.
Consulte Proxy reverso Nginx automatizado para Docker para saber por que você pode querer usar isso.
Para executá-lo:
docker run --detach
--name nginx-proxy
--publish 80:80
--volume /var/run/docker.sock:/tmp/docker.sock:ro
nginxproxy/nginx-proxy:1.6
Em seguida, inicie qualquer contêiner (aqui, um contêiner nginx) que você deseja proxy com um env var VIRTUAL_HOST=subdomain.yourdomain.com
docker run --detach
--name your-proxied-app
--env VIRTUAL_HOST=foo.bar.com
nginx
Desde que seu DNS esteja configurado para resolver foo.bar.com
para o host executando o nginx-proxy, uma solicitação para http://foo.bar.com
será roteada para um contêiner com a variável de ambiente VIRTUAL_HOST
definida como foo.bar.com
(neste caso, o contêiner do seu aplicativo com proxy ).
Os contêineres que estão sendo proxy devem:
EXPOSE
em seu Dockerfile
ou usando o sinalizador --expose
para docker run
ou docker create
.--net
quando seu contêiner nginx-proxy for criado, ele será anexado apenas à rede de ponte padrão. Isso significa que ele não poderá se conectar a contêineres em outras redes que não sejam bridge. Nota: fornecer um número de porta em VIRTUAL_HOST
não é suportado, consulte portas virtuais ou portas HTTP/HTTPS externas personalizadas, dependendo do que você deseja alcançar.
As imagens nginx-proxy estão disponíveis em dois sabores.
Esta imagem é baseada na imagem nginx:mainline, ela própria baseada na imagem debian slim.
docker pull nginxproxy/nginx-proxy:1.6
-alpine
)Esta imagem é baseada na imagem nginx:alpine.
docker pull nginxproxy/nginx-proxy:1.6-alpine
latest
e alpine
: Não é recomendado usar a tag latest
( nginxproxy/nginx-proxy
, nginxproxy/nginx-proxy:latest
) ou alpine
( nginxproxy/nginx-proxy:alpine
) para configurações de produção.
Essas tags apontam para o commit mais recente no branch main
. Eles não trazem nenhuma promessa de estabilidade e usá-los provavelmente colocará sua configuração do nginx-proxy em risco de sofrer atualizações descontroladas para versões não compatíveis com versões anteriores (ou versões com alterações significativas). Você deve sempre especificar explicitamente a versão que deseja usar para garantir que sua configuração não seja interrompida quando a imagem for atualizada.
Por favor, verifique a seção de documentos.