首页 > 解决方案 > 删除 Cassandra 容器时如何保留数据和架构

问题描述

我创建了一个 Cassandra 容器,运行它,创建模式并向其中添加数据。当我稍后停止容器并将其删除并从映像中创建一个新容器时,先前创建的架构和数据将丢失。

我可以/如何持久化数据和模式,以便每当从图像创建容器时,它会选择现有的模式和数据?

我是否必须重新创建架构并添加数据?

标签: cassandra-3.0

解决方案


为此,我使用 -v 选项挂载了一个外部目录(容器外部)。

例如。

对于容器 1 (node1)

docker run  -v C:\...\dockertest\dockerdata\cassandra1:/var/lib/cassandra --network cassandra-net -p 9042:9042 --name cassandra1 cassandra_image_id

对于容器 2 (node2)-

docker run  -v C:\...\dockertest\dockerdata\cassandra2:/var/lib/cassandra --network cassandra-net --name cassandra2  -e CASSANDRA_SEEDS=cassandra1 cassandra_image_id

如果在同一台机器上运行两个容器,每个节点/容器的外部目录必须不同


推荐阅读