Creé el contenedor Docker de DataStax Distribution of Apache Cassandra (DDAC):

docker pull datastax/ddac
docker run -e DS_LICENSE=accept --name ddac -d datastax/ddac

docker ps

enter image description here


Recibí el error al conectarme al nodo a través de Datastax DevCenter:

enter image description here

Se produjo el mismo error durante el intento de conexión a través de los puertos 7000 y 7199.


¿Cómo conectarse al nodo DDAC implementado en un contenedor Docker?


Actualizar

Inhabilité el Firewall de Windows por si acaso. Use docker run -e DS_LICENSE=accept --name ddac -p 9042:9042 -d datastax/ddac y obtuvo el mismo error:

No se pudo establecer contacto con los hosts especificados. Todos los hosts que se probaron consulta fallida (intentado: localhost / 0: 0: 0: 0: 0: 0: 0: 1: 9042 (com.datastax.driver.core.exceptions.TransportException: [localhost / 0: 0: 0: 0: 0: 0: 0: 1] El canal se ha cerrado), localhost / 127.0.0.1: 9042 (com.datastax.driver.core.exceptions.TransportException: [localhost / 127.0.0.1] El canal ha sido cerrado))
[localhost / 0: 0: 0: 0: 0: 0: 0: 1] El canal ha sido cerrado
[localhost / 127.0.0.1] El canal ha sido cerrado

enter image description here

1
Adam Shakhabov 1 oct. 2019 a las 11:49

1 respuesta

La mejor respuesta

Eso sucede porque el contenedor tiene su propia IP, y necesita conectarse a él; puede obtener la IP del contenedor con

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ddac

O exponer los puertos de Cassandra en el host, para que pueda conectarse a través de localhost; esto se hace a través de la marca -p de docker run:

docker run -e DS_LICENSE=accept --name ddac --rm -p 9042:9042 -d datastax/ddac
1
Alex Ott 1 oct. 2019 a las 09:48