Мы пытаемся запустить 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 на виртуальной машине докеров.