-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
101 lines (92 loc) · 3.13 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
version: '3'
# #####
# Debido a que LetsEncrypt requiere que el dominio este configurado en los DNS y con acceso a publico para gestionar los certificado TLS, se deja comentado.
#
# Descomentar las lineas de este archivo, para disponer de HTTPS.
#
# Una vez obtenidos los certificados, se puede volver a comentar y copiar el directorios "certs", para disponer de HTTPS en un entorno local.
# #####
## Al lanzar con la opcion -p vps (docker-compose -p vps up -d) el nombre de la red queda como "vps_nginx-proxy"
networks:
nginx-proxy:
driver: bridge
services:
mysql_prod:
image: mysql:latest
container_name: mysql_prod
environment:
- MYSQL_ROOT_PASSWORD=1234
# Los siguientes son una base de datos con usuario por default
- MYSQL_DATABASE=custom
- MYSQL_USER=wp_mysql_user
- MYSQL_PASSWORD=wp_mysql_pass_1234
ports:
- "3300:3306"
volumes:
- ./docker_mysql_prod/conf.d:/etc/mysql/conf.d
- ./docker_mysql_prod/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- ./docker_mysql_prod/data:/var/lib/mysql
networks:
- default
- nginx-proxy
mysql_test:
image: mysql:latest
container_name: mysql_test
environment:
- MYSQL_ROOT_PASSWORD=1234
# Los siguientes son una base de datos con usuario por default
- MYSQL_DATABASE=custom
- MYSQL_USER=wp_mysql_user
- MYSQL_PASSWORD=wp_mysql_pass_1234
ports:
- "3301:3306"
volumes:
- ./docker_mysql_test/conf.d:/etc/mysql/conf.d
- ./docker_mysql_test/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- ./docker_mysql_test/data:/var/lib/mysql
networks:
- default
- nginx-proxy
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
restart: always
ports:
- "80:80"
# - "443:443"
networks:
- default
- nginx-proxy
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
# - ./certs:/etc/nginx/certs:ro
- html:/usr/share/nginx/html
- vhostd:/etc/nginx/vhost.d
# labels:
# - com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
# letsencrypt:
# image: jrcs/letsencrypt-nginx-proxy-companion
# container_name: letsencrypt
# restart: always
# networks:
# - default
# - nginx-proxy
# environment:
# - NGINX_PROXY_CONTAINER=nginx-proxy
# volumes:
# - ./certs:/etc/nginx/certs:rw
# - html:/usr/share/nginx/html
# - vhostd:/etc/nginx/vhost.d
# - /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
certs:
html:
vhostd:
## DOCUMENTACION UTIL
# https://github.com/pablokbs/peladonerd/blob/master/varios/1/docker-compose.yaml
# OFICIAL: https://github.com/nginx-proxy/nginx-proxy
# OFICIAL: http://jasonwilder.com/blog/2014/03/25/automated-nginx-reverse-proxy-for-docker/
# SOLUCIONAR LA PARTE DE NETWORKING: https://stackoverflow.com/questions/53580128/isolate-containers-on-the-jwilder-nginx-proxy-network
# SETEAR NOMBRES DE RED: https://docs.docker.com/compose/reference/envvars/#compose_project_name
# https://docs.docker.com/compose/networking/