音量不是';在Windows 10中使用docker compose时在Scylla中创建的t
我刚开始学习Docker和Docker compose,我想试试Scyllab(数据库)。我想通过Docker compose和持久存储在Docker中启动一个Scyllab实例。永久存储应保存在相对于我的docker compose文件的文件夹“target”中。问题是,我没有看到任何正在创建的文件夹,但docker compose似乎保存了数据,但我不确定在哪里可以找到ScyllaDB创建的文件。逐步复制路径:音量不是';在Windows 10中使用docker compose时在Scylla中创建的t,docker,docker-compose,scylla,Docker,Docker Compose,Scylla,我刚开始学习Docker和Docker compose,我想试试Scyllab(数据库)。我想通过Docker compose和持久存储在Docker中启动一个Scyllab实例。永久存储应保存在相对于我的docker compose文件的文件夹“target”中。问题是,我没有看到任何正在创建的文件夹,但docker compose似乎保存了数据,但我不确定在哪里可以找到ScyllaDB创建的文件。逐步复制路径: 创建一个docker-compose.yml,其中包含以下内容(/var/lib
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 up-d
$docker volume ls
。我希望Docker应该创建一个卷(./target/)$ docker exec -it b-scylla cqlsh
$ create keyspace somekeyspace with replication = {
'class': 'NetworkTopologyStrategy',
'replication_factor': 2
};
事实证明,我需要在Docker Desktop中重置凭据。您正在使用“短语法”进行数据装载(),该语法正在创建装载点绑定。绑定不是卷。无法使用
docker卷ls
检查它们。您可以通过docker inspect{container}
了解装载情况
然而,锡拉图像并没有正确地开始为我绑定安装。在装入的目录中写入sstables时,我经常看到文件系统错误:
version: '3'
services:
b-scylla:
image: "scylladb/scylla:4.3.1"
container_name: b-scylla
volumes:
- ./target:/var/lib/scylla
我没有找到导致这种情况的原因,但是dir是可写的,并且包含大多数正常的初始数据保留commitlog段和systemks数据文件夹
真正起作用的是使用卷:
version: '3'
services:
b-scylla:
image: "scylladb/scylla:4.3.1"
container_name: b-scylla
volumes:
- type: volume
source: target
target: /var/lib/scylla
volume:
nocopy: true
volumes:
target:
“锡拉”在这种模式下成功启动
当然,您可以通过以下方式将此卷装载到任何其他容器:
$ docker run -it --mount source=projects_target,target=/app --entrypoint bash scylladb/scylla:4.3.1
或者通过WSL()访问它:
version: '3'
services:
b-scylla:
image: "scylladb/scylla:4.3.1"
container_name: b-scylla
volumes:
- type: volume
source: target
target: /var/lib/scylla
volume:
nocopy: true
volumes:
target:
$ docker compose up -f .\test.yaml
$ docker volume ls
DRIVER VOLUME NAME
local 6b57922b3380d61b960110dacf8d180e663b1ce120494d7a005fc08cee475234
local ad220954e311ea4503eb3179de0d1162d2e75b73d1d9582605b4e5c0da37502d
local projects_target
$ docker volume inspect projects_target
[
{
"CreatedAt": "2021-03-04T07:20:40Z",
"Driver": "local",
"Labels": {
"com.docker.compose.project": "projects",
"com.docker.compose.version": "1.0-alpha",
"com.docker.compose.volume": "target"
},
"Mountpoint": "/var/lib/docker/volumes/projects_target/_data",
"Name": "projects_target",
"Options": null,
"Scope": "local"
}
]
$ docker run -it --mount source=projects_target,target=/app --entrypoint bash scylladb/scylla:4.3.1
$ \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\projects_target\_data