#cassandra #docker-compose #datastax-java-driver
#cassandra #докер-составить #datastax-java-driver #docker-compose
Вопрос:
Мой файл docker-compose, как показано ниже,
cassandra-db:
container_name: cassandra-db
image: cassandra:4.0-beta1
ports:
- "9042:9042"
restart: on-failure
volumes:
- ./out/cassandra_data:/var/lib/cassandra
environment:
- CASSANDRA_CLUSTER_NAME='cassandra-cluster'
- CASSANDRA_NUM_TOKENS=256
- CASSANDRA_RPC_ADDRESS=0.0.0.0
networks:
- my-network
client-service:
container_name: client-service
image: client-service
environment:
- SPRING_PROFILES_ACTIVE=dev
ports:
- 8087:8087
links:
- cassandra-db
networks:
- my-network
networks:
my-network:
Я использую Java-драйвер Datastax для подключения cassandra к клиентской службе, которая также работает внутри docker.
CqlSession.builder()
.addContactEndPoint(new DefaultEndPoint(
InetSocketAddress.createUnresolved("cassandra-db",9042)))
.withKeyspace(CassandraConstant.KEY_SPACE_NAME.getValue())
.build()
Я использую DNS-имя для подключения, но не подключен, я пробовал с помощью Docker IP контейнера cassandra, а depends-on
также.
Любая проблема с файлом docker-compose?
Комментарии:
1. пожалуйста, запустите
docker network ls
, чтобы перечислить все объявленные сети, каково реальное название сети, объявленной в вашейdocker-file.yml
, это действительноmy-network
?2. да, это так, и уже проверено, что это
bridge
сеть.