Browse Source

add cassandra schema initialization

pull/789/head
Yura 8 years ago
parent
commit
268e511a4b
  1. 12
      Dockerfile.cassandra
  2. 7
      base-docker-compose.yml
  3. 12
      entrypoint-with-db-init.sh

12
Dockerfile.cassandra

@ -0,0 +1,12 @@
FROM cassandra
WORKDIR /opt/cassandra
COPY dao/src/main/resources/cassandra/schema.cql /opt/cassandra
COPY entrypoint-with-db-init.sh /opt/cassandra/entrypoint-with-db-init.sh
RUN chmod +x /opt/cassandra/entrypoint-with-db-init.sh
ENTRYPOINT ["/opt/cassandra/entrypoint-with-db-init.sh"]
CMD ["cassandra", "-f"]

7
base-docker-compose.yml

@ -20,6 +20,9 @@ services:
- "5432:5432"
cassandra-tb:
build:
context: .
dockerfile: Dockerfile.cassandra
image: cassandra
networks:
- core
@ -27,7 +30,9 @@ services:
- "7199:7199"
- "9160:9160"
- "9042:9042"
volumes:
- /cassandra:/var/lib/cassandra
- ./db-schema:/docker-entrypoint-initdb.d/
redis:
image: redis:4.0
networks:

12
entrypoint-with-db-init.sh

@ -0,0 +1,12 @@
#!/bin/bash
if [[ $1 = 'cassandra' ]]; then
# Create default keyspace for single node cluster
until cqlsh -f/opt/cassandra/schema.cql; do
echo "cqlsh: Cassandra is unavailable - retring"
sleep 2
done &
fi
exec /docker-entrypoint.sh "$@"
Loading…
Cancel
Save