Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
170 lines (152 sloc) 4.88 KB
# Copyright 2017-2017 Spotify AB
# Copyright 2017-2018 The Last Pickle Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
version: '2.1'
services:
cassandra-common:
image: cassandra:3.11
env_file:
- ./docker-services/cassandra/cassandra.env
mem_limit: 4g
memswap_limit: 4g
mem_swappiness: 0
ports:
- "7000:7000"
- "7001:7001"
- "7199:7199"
- "9042:9042"
volumes:
- ./data/cassandra:/var/lib/cassandra
- ./docker-services/cassandra/jmxremote.access:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/management/jmxremote.access
- ./docker-services/cassandra/jmxremote.password:/etc/cassandra/jmxremote.password
cassandra:
extends:
file: ./docker-compose.yml
service: cassandra-common
cassandra-ssl:
extends:
file: ./docker-compose.yml
service: cassandra-common
entrypoint: /docker-alt-entrypoint.sh cassandra -f
env_file:
- ./docker-services/cassandra-ssl/cassandra-ssl.env
volumes:
- ./ssl-stores/cassandra-server-keystore.jks:/etc/ssl/cassandra-server-keystore.jks
- ./ssl-stores/generic-server-truststore.jks:/etc/ssl/generic-server-truststore.jks
- ./docker-services/cassandra-ssl/docker-entrypoint.sh:/docker-alt-entrypoint.sh
cqlsh-common:
build: ./docker-services/cqlsh
env_file:
- ./docker-services/cqlsh/cql.env
cqlsh:
extends:
file: ./docker-compose.yml
service: cqlsh-common
links:
- cassandra
cqlsh-ssl:
extends:
file: ./docker-compose.yml
service: cqlsh-common
env_file:
- ./docker-services/cqlsh-ssl/cqlsh-ssl.env
links:
- cassandra-ssl
volumes:
- ./ssl-stores/cassandra-server-keystore.jks:/etc/ssl/cassandra-server-keystore.jks
- ./ssl-stores/ca-cert:/etc/ssl/ca-cert
cqlsh-initialize-reaper_db:
extends:
file: ./docker-compose.yml
service: cqlsh-common
entrypoint: /docker-alt-entrypoint.sh
env_file:
- ./docker-services/cqlsh-initialize-reaper_db/cqlsh-initialize-reaper_db.env
links:
- cassandra
volumes:
- ./docker-services/cqlsh-initialize-reaper_db/docker-entrypoint.sh:/docker-alt-entrypoint.sh
cqlsh-initialize-reaper_db-ssl:
extends:
file: ./docker-compose.yml
service: cqlsh-common
entrypoint: /docker-alt-entrypoint.sh
env_file:
- ./docker-services/cqlsh-initialize-reaper_db-ssl/cqlsh-initialize-reaper_db-ssl.env
links:
- cassandra-ssl
volumes:
- ./docker-services/cqlsh-initialize-reaper_db-ssl/docker-entrypoint.sh:/docker-alt-entrypoint.sh
- ./ssl-stores/cassandra-server-keystore.jks:/etc/ssl/cassandra-server-keystore.jks
- ./ssl-stores/ca-cert:/etc/ssl/ca-cert
generate-ssl-stores:
build: ./docker-services/generate-ssl-stores
volumes:
- ./resource/ca_cert.conf:/usr/src/app/ca_cert.conf
- ./ssl-stores:/usr/src/app/ssl-stores
nodetool-common:
build: ./docker-services/nodetool
env_file:
- ./docker-services/nodetool/nodetool.env
nodetool:
extends:
file: ./docker-compose.yml
service: nodetool-common
links:
- cassandra
nodetool-ssl:
extends:
file: ./docker-compose.yml
service: nodetool-common
env_file:
- ./docker-services/nodetool-ssl/nodetool-ssl.env
links:
- cassandra-ssl
volumes:
- ./ssl-stores/cassandra-server-keystore.jks:/etc/ssl/cassandra-server-keystore.jks
- ./ssl-stores/generic-server-truststore.jks:/etc/ssl/generic-server-truststore.jks
reaper-common:
image: cassandra-reaper:latest
env_file:
- ./docker-services/reaper/reaper.env
ports:
- "8080:8080"
- "8081:8081"
volumes:
- ./data/reaper:/var/log/cassandra-reaper
reaper:
extends:
file: ./docker-compose.yml
service: reaper-common
links:
- cassandra
reaper-ssl:
extends:
file: ./docker-compose.yml
service: reaper-common
env_file:
- ./docker-services/reaper-ssl/reaper-ssl.env
links:
- cassandra-ssl
volumes:
- ./ssl-stores/reaper-server-keystore.jks:/etc/ssl/reaper-server-keystore.jks
- ./ssl-stores/generic-server-truststore.jks:/etc/ssl/generic-server-truststore.jks
reaper-in-memory:
extends:
file: ./docker-compose.yml
service: reaper-common
env_file:
- ./docker-services/reaper-in-memory/reaper-in-memory.env
links:
- cassandra