Привет! :) Я новичок в Docker!Я пытался создать контейнер на основе Cassandra в Ubuntu 16.04 и связать его с другим контейнером на той же машине.Цель состоит в том, чтобы получить доступ к базе данных с помощью драйвера Python Cassandra из второго контейнера.
Я создаю драйвер Cassandra следующим образом, открывая все порты:
docker run -d --name some-cassandra -p 7000:7000 -p 7001:7001 -p 7199:7199 -p 9042:9042 -p 9160:9160 --rm -t cassandra
И связываясь с другим контейнером какНиже:
run --name python-container \
--volume=$HOME/cassandra/output:/output --rm \
--link some-cassandra:cassandra \
-d custom-cassandra:latest
custom-cassandra - это пользовательский образ Docker, который в основном устанавливает Python, pip и cassandra-driver.Затем я подключаюсь ко второму контейнеру, используя:
docker exec -it python-container python
Однако следующий код завершается ошибкой:
from cassandra import ConsistencyLevel, OperationTimedOut, WriteTimeout
from cassandra.cluster import Cluster
from cassandra.query import SimpleStatement
session = Cluster(['localhost']).connect()
с ошибкой:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "cassandra/cluster.py", line 1247, in cassandra.cluster.Cluster.connect
File "cassandra/cluster.py", line 1283, in cassandra.cluster.Cluster.connect
File "cassandra/cluster.py", line 1270, in cassandra.cluster.Cluster.connect
File "cassandra/cluster.py", line 2773, in cassandra.cluster.ControlConnection.connect
File "cassandra/cluster.py", line 2816, in cassandra.cluster.ControlConnection._reconnect_internal
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': error(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused"), '::1': error(99, "Tried connecting to [('::1', 9042, 0, 0)]. Last error: Cannot assign requested address")})
Чтонеужели я не так делаю ссылки, пожалуйста?