Eu tenho um servidor com o seguinte docker-compose.yml
:
version: "3"
services:
frontend:
restart: unless-stopped
image: staticfloat/nginx-certbot
ports:
- 80:80/tcp
- 443:443/tcp
environment:
CERTBOT_EMAIL: [email protected]
volumes:
- ./conf.d:/etc/nginx/user.conf.d:ro
- letsencrypt:/etc/letsencrypt
studio:
image: bitnami/nginx:latest
restart: always
volumes:
- ./build:/app
- ./default.conf:/opt/bitnami/nginx/conf/server_blocks/default.conf:ro
- ./configs/config.prod.js:/app/lib/config.js
depends_on:
- frontend
volumes:
letsencrypt:
networks:
default:
external:
name: studio
Além disso, existe um arquivo conf.d/prod.conf
para configuração do nginx.
Eu fiz docker exec -it frontend_frontend_1 /bin/bash
, posso ver que existem /etc/nginx/user.conf.d/prod.conf
e /etc/nginx/conf.d/prod.conf
quais são idênticos. Entendo que /etc/nginx/user.conf.d/prod.conf
foi montado por causa do - ./conf.d:/etc/nginx/user.conf.d:ro
in docker-compose.yml
, mas por que existe /etc/nginx/conf.d/prod.conf
?
Alguém sabe?
Porque quando você executa a
staticfloat/nginx-certbot
imagem, ela executa o script/scripts/entrypoint.sh
, que executa este código (entre outras coisas):Isso copia arquivos para
/etc/nginx/user.conf.d
dentro/etc/nginx/conf.d
enquanto executa a substituição de variáveis de ambiente.