English README here
Verificar que en el docker-compose.yml
tenemos definidas las relaciones de los puertos que usaremos en nuestro entorno Docker.
ports:
- "80:80"
- "3306:3306"
- "443:443"
- "8080:8080"
- Editar en la máquina anfitrión el archivo
/etc/hosts
añadiendo los VIRTUAL_HOST definidos en los servicios de nuestros proyectos- Un ejemplo:
0.0.0.0 www.blog.local
- Un ejemplo:
- Levantar el docker proxy ejecutando
sh proxy-start.sh
.- Este script crea una red con el nombre
nginx-proxy
y levanta un servicio denginx-proxy
- Este script crea una red con el nombre
- Tumbar el docker proxy ejecutando
sh proxy-stop.sh
.
Para que nuestros proyectos utilicen el nginx-proxy tienen que tener la siguiente configuración:
- Añadir en cada definición de servicios que se quieran detectar con el nginx-proxy las variables de entorno:
environment:
VIRTUAL_HOST: www.blog.local
VIRUTAL_PORT: 80
- Añadir la definición de la red a cada servicio.
networks:
- nginx-proxy
- Si un servicio utiliza alias para la comunicación interna entra contenedores, tendremos que definir la red tal que así.
networks:
nginx-proxy:
aliases:
- www.blog.local
- Añadir la red nginx-proxy al entorno Docker de cada proyecto
networks:
nginx-proxy:
external:
name: nginx-proxy
- Verificar que VirtualHost que utiliza el servidor Apache de cada proyecto utiliza la misma URL que la definida en la variable VIRTUAL_HOST
version: '3'
services:
db:
container_name: database
image: mysql:5.6
environment:
MYSQL_ROOT_PASSWORD: root
VIRTUAL_HOST: db.blog.local
VIRTUAL_PORT: 3306
networks:
nginx-proxy:
aliases: db.blog.local
wordpress:
container_name: wordpress
image: wordpress:latest
environment:
VIRTUAL_HOST: www.blog.local
VIRUTAL_PORT: 80
networks:
- nginx-proxy
networks:
nginx-proxy:
external:
name: nginx-proxy