-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
105 lines (96 loc) · 2.26 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
102
103
104
105
##
# Docker Drupal Development
#
# Main Docker Composer file
version: '2'
services:
# Drupal web server
web:
image: dockerdrupaldev/apache2-php5:latest
hostname: drupal
links:
- db:mysql
- mailhog
ports:
- "80:80"
- "443:443"
volumes:
- ./sites:/var/www
- apache_logs:/var/log/apache2
- ./etc/php/docker.ini:/etc/php/5.6/conf.d/docker.ini
# Database server
db:
image: dockerdrupaldev/mariadb:latest
hostname: mysql
environment:
- MYSQL_ROOT_PASSWORD=root
ports:
- "3306:3306"
volumes:
- mysql:/var/lib/mysql
- ./etc/mysql/my.cnf:/etc/mysql/conf.d/95-overrides.cnf
# Email catcher
mailhog:
image: mailhog/mailhog
hostname: mailhog
ports:
- "1025:1025"
- "8025:8025"
labels:
- "traefik.backend=mailhog"
- 'traefik.port=8025'
- "traefik.frontend.rule=Host:mailhog.ddd.localhost"
# Web development tools
web_tools:
image: dockerdrupaldev/web-tools:latest
hostname: web-tools
links:
- db:mysql
- mailhog
ports:
- "8081:80"
volumes:
- apache_logs:/var/log/apache2
labels:
- "traefik.backend=web-tools"
- 'traefik.port=80'
- "traefik.frontend.rule=Host:web-tools.ddd.localhost"
# CLI development tools with SSH
cli_tools:
image: dockerdrupaldev/cli-tools-php5:latest
hostname: cli-tools
links:
- db:mysql
- mailhog
ports:
- "2222:22"
volumes:
- ./databases:/docker/databases
- ./sites:/docker/sites
- ./sites:/var/www
- /home/docker
- apache_logs:/var/log/apache2
portainer:
image: portainer/portainer
hostname: portainer
command: --no-auth -H unix:///var/run/docker.sock
ports:
- 9000:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- 'traefik.backend=portainer'
- 'traefik.port=9000'
- 'traefik.frontend.rule=Host:portainer.ddd.localhost'
traefik:
image: traefik
hostname: traefik
command: -c /dev/null --web --docker --docker.domain=ddd.localhost --logLevel=INFO
ports:
- '8000:80'
- '8080:8080'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
volumes:
apache_logs: {}
mysql: {}