-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
57 lines (55 loc) · 1.52 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
version: '3'
services:
app:
build:
context: .
dockerfile: docker/app/Dockerfile
container_name: revel-golang-app
# ports from container exposed to the docker machine and the guest machine
ports:
# 80 on the host, 8080 on the guest. Websever listens on 8080
- "9000:9000" # http
# - "443:443" # https
# file with environment declarations for the container
env_file:
- docker/app/.env
# Link to containers in another service
# links:
# - mysql
depends_on:
- mysql
# sync workspace folder with /go
volumes:
- .:/go/src/revel-golang-app
command: >
sh -c "ls /go/src &&
cp /go/src/revel-golang-app/conf/app.conf.dev-docker /go/src/revel-golang-app/conf/app.conf &&
revel run revel-golang-app dev-docker"
tty: true
networks:
- app-network
mysql:
build:
context: .
dockerfile: docker/mysql/Dockerfile
command: --init-file /data/application/init.sql
restart: unless-stopped
container_name: mysql-db
ports:
- "3306:3306"
environment:
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: gotest
# sync folders. MySQL data is stored outside container so that rebuilding doesn't clear db.
# folder is at workspace root.
volumes:
- ./docker/mysql/init.sql:/data/application/init.sql
- ./_local_mysql_data:/var/lib/mysql
tty: true
networks:
- app-network
networks:
app-network:
driver: bridge