如何使用docker共享分布式cassandra容器中的docker合成卷

pxiryf3j  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(365)

我已配置的分布式版本 cassandra 使用 Docker-Compose .
这是我的docker-compose.yml文件:

version: '3.0'
services:
  cassandra-masters:
    image: strapdata/elassandra
    environment:
      CASSANDRA_LISTEN_ADDRESS: tasks.cassandra-masters    
  cassandra-slaves1:
    image: strapdata/elassandra
    environment:
      CASSANDRA_SEEDS: tasks.cassandra-masters
      CASSANDRA_LISTEN_ADDRESS: tasks.cassandra-slaves1
    depends_on:
     - cassandra-masters

在运行docker compose文件之后 sudo docker stack deploy elassandra --compose-file docker-compose.yml ,一切正常,我可以看到他们使用 docker service ls 命令。
问题:我想要的是,我不知道如何使用容器中的分布式卷。这和docker网站上的docker compose的正常配置一样吗?还是不一样?

ktca8awb

ktca8awb1#

解决方案我尝试过如下命名卷,这种方法(分布式)和普通方法没有任何区别。唯一应该考虑的是卷应该共享:

version: '3.0'
services:
  cassandra-masters:
    image: strapdata/elassandra
    environment:
      CASSANDRA_LISTEN_ADDRESS: tasks.cassandra-masters
    volumes:
     - app-volume:/var/lib/cassandra

  cassandra-slaves1:
    image: strapdata/elassandra
    environment:
      CASSANDRA_SEEDS: tasks.cassandra-masters
      CASSANDRA_LISTEN_ADDRESS: tasks.cassandra-slaves1
    depends_on:
     - cassandra-masters
    volumes:
     - app-volume:/var/lib/cassandra
volumes:
  app-volume:

相关问题