-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
73 lines (71 loc) · 2.07 KB
/
docker-compose.yaml
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
version: "3.9"
# Variables for mysql database
x-mysql-database: &MYSQL_DATABASE devdb
x-mysql-host: &MYSQL_HOST mysqldb
x-mysql-port: &MYSQL_PORT 3306
x-mysql-user: &MYSQL_USER devuser
x-mysql-password: &MYSQL_PASSWORD devdev
x-mysql-max-conns: &MYSQL_MAX_CONNS 10
# Variables for redis
x-redis-master-name: &REDIS_MASTER_NAME mymaster
x-redis-sentinel-addrs: &REDIS_SENTINEL_ADDRS redis-sentinel:26379
services:
workspace:
build:
context: .
dockerfile: ./docker/workspace/Dockerfile
container_name: go-auth-api-workspace
tty: true
volumes:
- .:/go/src/github.com/mkaiho/go-auth-api
- /var/run/docker.sock:/var/run/docker.sock
working_dir: /go/src/github.com/mkaiho/go-auth-api
ports:
- 3000:3000
environment:
MYSQL_HOST: *MYSQL_HOST
MYSQL_PORT: *MYSQL_PORT
MYSQL_USER: *MYSQL_USER
MYSQL_DATABASE: *MYSQL_DATABASE
MYSQL_PASSWORD: *MYSQL_PASSWORD
MAX_CONNS: *MYSQL_MAX_CONNS
REDIS_MASTER_NAME: *REDIS_MASTER_NAME
REDIS_SENTINEL_ADDRS: *REDIS_SENTINEL_ADDRS
mysqldb:
build:
context: ./docker/mysql
dockerfile: ./Dockerfile
container_name: go-auth-api-db
ports:
- 13306:3306
volumes:
- ./docker/mysql/init.d:/docker-entrypoint-initdb.d
- ./docker/mysql/conf.d:/etc/mysql/conf.d
- ./docker/mysql/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: *MYSQL_DATABASE
MYSQL_USER: *MYSQL_USER
MYSQL_PASSWORD: *MYSQL_PASSWORD
redis-master:
image: redis:7.0-bullseye
container_name: go-auth-api-redis-master
ports:
- 16379:6379
volumes:
- ./docker/redis/master/data:/data
redis-slave-01:
image: redis:7.0-bullseye
container_name: go-auth-api-redis-slave-01
ports:
- 16380:6379
volumes:
- ./docker/redis/slave-01/data:/data
command: redis-server --slaveof redis-master 6379
redis-sentinel:
build:
context: ./docker/redis/sentinel
dockerfile: ./Dockerfile
container_name: go-auth-api-redis-sentinel
ports:
- 26379:26379