如何使用 Docker 在分布式 Cassandra 容器中共享 Docker 组合卷



我已经使用 Docker-Compose 配置了cassandra的分布式版本。

这是我的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

使用 sudo docker stack deploy elassandra --compose-file docker-compose.yml 运行 docker-compose 文件后,一切正常,我可以使用docker service ls命令查看它们。

问题:我想要的是我不知道如何在分布式容器中使用卷。它是否像在 Docker 站点中找到的 docker-compose 的正常配置?还是不同?

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

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:

最新更新