【发布时间】:2017-11-22 14:48:54
【问题描述】:
这是我的docker-compose.yaml:
version: '3'
services:
cassandra:
container_name: cassandra
image: cassandra:3.10
ports:
- 9142:9042
volumes:
- $PWD/src/database/migrations:/migrations
depends_on:
- mysql
mysql:
image: mysql:5.7
volumes:
- ./src/database/migrations:/docker-entrypoint-initdb.d
ports:
- 3307:3306
restart: always
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=leonardo
- MYSQL_ALLOW_EMPTY_PASSWORD=1
还有一个 shell 脚本 bootstrap.sh 开始:
#!/bin/bash
set -e
docker-compose -f $PWD/docker-compose.yaml down
docker-compose -f $PWD/docker-compose.yaml up -d
这正在工作并启动堆栈。 现在我想向 Cassandra 添加一个键空间,但是,在此行下方会引发错误:
docker-compose -f $PWD/docker-compose.yaml exec cassandra /bin/sh -c $'cqlsh cassandra -e "CREATE KEYSPACE mykeyspace WITH replication = {\'class\': \'SimpleStrategy\', \'replication_factor\': \'1\'} AND durable_writes = true;"'
连接错误:('无法连接到任何服务器',{'172.18.0.2': 错误(111,“尝试连接到[('172.18.0.2',9042)]。最后一个错误: 连接被拒绝")})
Cassandra 可能还没有初始化。 有什么好的方法呢?
【问题讨论】:
标签: docker cassandra sh docker-compose