-
Notifications
You must be signed in to change notification settings - Fork 51
/
docker-compose.yml
139 lines (130 loc) · 3.81 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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
version: '2.2'
services:
postgres:
build:
context: .
dockerfile: ./build/Dockerfile-postgres
ports:
- "15432:5432"
environment:
- POSTGRES_USER=postgres
- POSTGRES_HOST_AUTH_METHOD=trust
cap_add:
- NET_ADMIN
mysql:
build:
context: .
dockerfile: ./build/Dockerfile-mysql
command: --default-authentication-plugin=mysql_native_password
ports:
- "13306:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
- MYSQL_ROOT_HOST=%
cap_add:
- NET_ADMIN
cassandra:
build:
context: .
dockerfile: ./build/Dockerfile-cassandra
ports:
- "19042:9042"
# enable NativeMemoryTracking so that jcmd in possible in build.sh. For CompressedClassSpaceSize 1gig is default which is too high.
environment:
- MAX_HEAP_SIZE=256m
- HEAP_NEWSIZE=64m
- JVM_OPTS=-XX:NativeMemoryTracking=summary -XX:CompressedClassSpaceSize=200m
init: true
orientdb:
image: orientdb:3.0.11
ports:
- "12424:2424"
# enable NativeMemoryTracking so that jcmd in possible in build.sh. For CompressedClassSpaceSize 1gig is default which is too high.
environment:
- ORIENTDB_ROOT_PASSWORD=root
- ORIENTDB_OPTS_MEMORY=-XX:NativeMemoryTracking=summary -XX:CompressedClassSpaceSize=200m -Xms256m -Xmx512m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=64m -Xss256k
init: true
sqlserver:
build:
context: .
dockerfile: ./build/Dockerfile-sqlserver
ports:
- "11433:1433"
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=QuillRocks!
cap_add:
- NET_ADMIN
oracle:
image: quillbuilduser/oracle-18-xe-micro-sq
ports:
- "11521:1521"
# Opatch is an internal java-based daemon in the Oracle container that updates components, don't really need it here. Reduce it's memory settings.
environment:
- OPATCH_JRE_MEMORY_OPTIONS=-Xms128m -Xmx256m -XX:PermSize=16m -XX:MaxPermSize=32m -Xss1m
setup:
build:
context: .
dockerfile: ./build/Dockerfile-setup
depends_on:
- oracle
links:
- postgres:postgres
- mysql:mysql
- cassandra:cassandra
- docker_ping:docker_ping
#- orientdb:orientdb
- sqlserver:sqlserver
- oracle:oracle
volumes:
- ./:/app:delegated
command:
- ./build/setup_local.sh
# If you need to double-check the postgres docker image has
# a set amount of network latency (that can be set by increase_postgres_latency.sh)
# then uncomment to start.
docker_ping:
build:
context: .
dockerfile: ./build/Dockerfile-ping
container_name: docker_ping
command: >
ping sqlserver
sbt:
build:
context: .
dockerfile: ./build/Dockerfile-sbt
ports:
- "15005:5005"
command: sbt
links:
- postgres:postgres
- mysql:mysql
#- cassandra:cassandra
#- orientdb:orientdb
- docker_ping:docker_ping
- sqlserver:sqlserver
- oracle:oracle
volumes:
- ./:/app:delegated
- ~/.ivy2:/root/.ivy2:cached
- ~/.m2:/root/.m2:cached
- ~/.sbt:/root/.sbt:cached
environment:
- SBT_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -Dfile.encoding=UTF-8 -Xms512m -Xmx1536m -Xss2m -XX:ReservedCodeCacheSize=256m -XX:+TieredCompilation
- POSTGRES_HOST=postgres
- POSTGRES_PORT=5432
- MYSQL_HOST=mysql
- MYSQL_PORT=3306
- SQL_SERVER_HOST=sqlserver
- SQL_SERVER_PORT=1433
- ORACLE_HOST=oracle
- ORACLE_PORT=1521
- CASSANDRA_HOST=cassandra
- CASSANDRA_PORT=9042
# the values should be used for all new cassandra projects
- CASSANDRA_CONTACT_POINT_0=cassandra:9042
- CASSANDRA_DC=datacenter1
- ORIENTDB_HOST=orientdb
- ORIENTDB_PORT=2424