2016-02-18 7 views
1

Мы пытаемся запустить Cassandra (2.2.0) в контейнере и cqlsh (5.0.1) в другом контейнере на Mac. . работает на ноутбуке Linux, но не может подключиться на Mac (10.9.5) сбой на Mac (после работал на Linux) является:cqlsh to Cassandra «Невозможно подключиться», в контейнерах, на докерной машине VM

# Start Cassandra in a Docker container 
docker run --detach --name cassandra1 -p 9042:9042 poklet/cassandra 
# Connect to Cassandra using cqlsh 
docker run -it --rm --net container:cassandra1 poklet/cassandra cqlsh 
Connection error: ('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")}) 

docker run -it --rm --net container:cassandra1 poklet/cassandra cqlsh cassandra1 
Connection error: ('Unable to connect to any servers', {'cassandra1': error(111, "Tried connecting to [('172.17.0.10', 9042)]. Last error: Connection refused")}) 

docker run -it --rm --net container:cassandra1 poklet/cassandra cqlsh 172.17.0.10 
Connection error: ('Unable to connect to any servers', {'172.17.0.10': error(111, "Tried connecting to [('172.17.0.10', 9042)]. Last error: Connection refused")}) 

Мы хотели проверить, была ли проблема в конкретных cqlsh, или просто проблема с портом.
Вместо того чтобы пытаться подключить cqlsh к cassandra, мы использовали завиток для подключения к веб-серверу в том же порту (на Mac). Мы остановили контейнеры и:

# started a container with a webserver on port 9042: 
docker run -it --name cassandra1 -p 9042:9042 ubuntu 
python -m SimpleHTTPServer 9042 
# and a container to represent “cqlsh”: 
docker run -it --rm --net container:cassandra1 ubuntu /bin/bash 

и смогли успешно выполнить следующие команды в контейнере «clqsh» (curl localhost:9042, curl cassandra1:9042, curl 172.17.0.9:9042), чтобы показать, что это не проблема порта.

Мы считаем, что это проблема с cqlsh на виртуальной машине докеров.

ответ

0

Предполагая, что у вас установлена ​​cassandra на вашей локальной машине.

Пример:

$ docker-machine ip default

192.168.0.10

$ cqlsh 192.168.0.10