【发布时间】:2021-06-01 20:07:28
【问题描述】:
我刚开始学习 Docker 和 docker-compose,我想试试 ScyllaDB(数据库)。我想通过具有持久存储的 docker-compose 在 Docker 中启动 ScyllaDB 的单个实例。持久存储应保存在相对于我的 docker-compose 文件的文件夹“目标”中。问题是我没有看到任何正在创建的文件夹,但 docker-compose 似乎保留了数据,但我不确定在哪里可以找到 ScyllaDB 创建的文件。一步一步再现路径:
- 创建一个包含以下内容的 docker-compose.yml(根据https://docs.scylladb.com/operating-scylla/procedures/tips/best_practices_scylla_on_docker/,/var/lib/scylla 应该是正确的):
docker-compose.yml
version: '3'
services:
b-scylla:
image: "scylladb/scylla:4.3.1"
container_name: b-scylla
volumes:
- ./target:/var/lib/scylla
ports:
- "127.0.0.1:9042:9042"
- "127.0.0.1:9160:9160"
- 这没有给出任何结果:
$ docker volume ls - 启动 docker-compose 并等待 ScyllaDB 启动:
$ docker-compose up -d - 这仍然没有给出任何结果:
$ docker volume ls。我希望 Docker 应该创建一个卷 (./target/)。 - 在 ScyllaDB 中持久化一些数据以验证数据是否保存在某处:
运行以下命令:
$ docker exec -it b-scylla cqlsh
$ create keyspace somekeyspace with replication = {
'class': 'NetworkTopologyStrategy',
'replication_factor': 2
};
- 创建的键空间保存在某个地方,但我不知道在哪里。我希望它只是在目标文件夹中,但甚至没有创建该文件夹。当我重新启动 docker-compose 时,keyspace 仍然存在,所以数据保存在某个地方,但是在哪里?
【问题讨论】:
标签: docker docker-compose scylla