Je mis en place le conteneur Cassandra en exécutant les commandes suivantes:Impossible de se connecter à conteneurs Cassandra Docker de mon application Node.js
Cela va tirer l'image docker cassandra du moyeu docker et le démarrage d'un conteneur avec cassandra
docker run --name cassandraDb -d --publish-all=true cassandra:3.11
Je peux le voir mis en place en exécutant les commandes suivantes:
docker images
docker ps -a
docker exec -i -t cassandraDb sh -c 'nodetool status'
Voici le code de ma route Node.js, quand je frappe, je reçois Proceed erreur ING:
res.send(client.connect()
.then(() => {
console.log('Connected');
console.log(Object.keys(client.metadata.keyspaces));
return client.shutdown();
})
/* tslint:disable-next-line */
.catch((err): any => {
console.error('There was an error when connecting', err);
return client.shutdown();
}));
Erreur:
There was an error when connecting { [Error: All host(s) tried for query failed. First host tried, 172.17.0.2:9042: Error: Connection timeout. See innerErrors.]
innerErrors:
{ '172.17.0.2:9042':
{ [Error: Connection timeout]
message: 'Connection timeout',
info: 'Cassandra Driver Error' } },
info: 'Represents an error when a query cannot be performed because no host is available or could be reached by the driver.',
message: 'All host(s) tried for query failed. First host tried, 172.17.0.2:9042: Error: Connection timeout. See innerErrors.' }
Je n'ai pas beaucoup d'expérience avec Cassandra ou Docker, donc je ne sais pas pourquoi mon application ne se connecte pas à la DB, peut-être quelque chose avec les ports n'étant pas ouverts aux demandes entrantes, mais je ne sais pas comment je pourrais vérifier cela ou le changer.