在同一Docker下运行的客户端中的Docker Cassandra访问

问题描述

我的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:

我使用Datastax Java驱动程序在客户端服务中连接cassandra,该服务也在docker内部运行。

CqlSession.builder()
                .addContactEndPoint(new DefaultEndPoint(
                        InetSocketAddress.createUnresolved("cassandra-db",9042)))
                .withKeyspace(CassandraConstant.KEY_SPACE_NAME.getValue())
                .build()

我使用DNS名称进行连接,但未连接,我尝试使用cassandra容器的Docker IP和depends-on

docker-compose文件有问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)