Directory can not be initialized (Storage I/O error: 22: Invalid argument) when using Docker Compose with Scylla on Windows
Directory can not be initialized (Storage I/O error: 22: Invalid argument) when using Docker Compose with Scylla on Windows
运行 docker-compose 中的 Scylla 实例有问题。我在 windows 10,这是我在 运行 $ docker logs b-scylla
:
时遇到的错误
INFO 2021-03-03 20:28:33,030 [shard 0] storage_service - Stop transport: starts
INFO 2021-03-03 20:28:33,030 [shard 0] storage_service - Stop transport: shutdown rpc and cql server done
INFO 2021-03-03 20:28:33,030 [shard 0] gossip - gossip is already stopped
INFO 2021-03-03 20:28:33,030 [shard 0] storage_service - Stop transport: stop_gossiping done
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/commitlog"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/data"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/hints/0"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/hints/1"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/hints/2"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/hints/3"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/view_hints/0"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,031 [shard 0] init - Directory '"/var/lib/scylla/view_hints/1"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,031 [shard 0] init - Directory '"/var/lib/scylla/view_hints/2"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,031 [shard 0] init - Directory '"/var/lib/scylla/view_hints/3"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
INFO 2021-03-03 20:28:33,031 [shard 0] init - Shutting down database
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - messaging_service stopped
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - Stop transport: shutdown messaging_service done
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - stream_manager stopped
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - Stop transport: shutdown stream_manager done
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - Stop transport: done
INFO 2021-03-03 20:28:33,032 [shard 0] init - Shutting down database was successful
奇怪的是,我看到目录实际上是在我的本地机器上创建的(我有一个卷):
这是我的 docker-compose.yml:
version: '3'
services:
b-scylla:
image: scylladb/scylla:4.3.1
container_name: b-scylla
volumes:
- ./scylla:/var/lib/scylla
- ./:/project
ports:
- 127.0.0.1:9042:9042
- 127.0.0.1:9160:9160
我用绝对路径替换了'./scylla/',但结果没有改变。我的 .env 文件中有这个,与 docker-compose.yml:
在同一个文件夹中
COMPOSE_CONVERT_WINDOWS_PATHS=1
在 查看我的解决方案。
这对你有用:
version: '3'
services:
scylla:
image: "scylladb/scylla:4.3.1"
container_name: 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 ():
$ \wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\projects_target\_data
运行 docker-compose 中的 Scylla 实例有问题。我在 windows 10,这是我在 运行 $ docker logs b-scylla
:
INFO 2021-03-03 20:28:33,030 [shard 0] storage_service - Stop transport: starts
INFO 2021-03-03 20:28:33,030 [shard 0] storage_service - Stop transport: shutdown rpc and cql server done
INFO 2021-03-03 20:28:33,030 [shard 0] gossip - gossip is already stopped
INFO 2021-03-03 20:28:33,030 [shard 0] storage_service - Stop transport: stop_gossiping done
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/commitlog"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/data"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/hints/0"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/hints/1"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/hints/2"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/hints/3"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,030 [shard 0] init - Directory '"/var/lib/scylla/view_hints/0"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,031 [shard 0] init - Directory '"/var/lib/scylla/view_hints/1"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,031 [shard 0] init - Directory '"/var/lib/scylla/view_hints/2"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
ERROR 2021-03-03 20:28:33,031 [shard 0] init - Directory '"/var/lib/scylla/view_hints/3"' cannot be initialized. Tried to do it but failed with: storage_io_error (Storage I/O error: 22: Invalid argument)
INFO 2021-03-03 20:28:33,031 [shard 0] init - Shutting down database
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - messaging_service stopped
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - Stop transport: shutdown messaging_service done
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - stream_manager stopped
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - Stop transport: shutdown stream_manager done
INFO 2021-03-03 20:28:33,031 [shard 0] storage_service - Stop transport: done
INFO 2021-03-03 20:28:33,032 [shard 0] init - Shutting down database was successful
奇怪的是,我看到目录实际上是在我的本地机器上创建的(我有一个卷):
这是我的 docker-compose.yml:
version: '3'
services:
b-scylla:
image: scylladb/scylla:4.3.1
container_name: b-scylla
volumes:
- ./scylla:/var/lib/scylla
- ./:/project
ports:
- 127.0.0.1:9042:9042
- 127.0.0.1:9160:9160
我用绝对路径替换了'./scylla/',但结果没有改变。我的 .env 文件中有这个,与 docker-compose.yml:
在同一个文件夹中COMPOSE_CONVERT_WINDOWS_PATHS=1
在
这对你有用:
version: '3'
services:
scylla:
image: "scylladb/scylla:4.3.1"
container_name: 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 (
$ \wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\projects_target\_data