gpt4 book ai didi

docker - 主机系统中的卷

转载 作者:行者123 更新时间:2023-12-02 21:29:55 25 4
gpt4 key购买 nike

我可以使用相对路径创建docker卷:

version: '3'

services:
db:
image: postgres
environment:
POSTGRES_PASSWORD: ${DB_PASS}
volumes:
- ./dbdata:/var/lib/postgresql/data
ports:
- '5432:5432'
然后, dbdata将在我的 WSL 2上可用,并且我将能够使用sudo su输入它并检查其内容。
但是,当我运行 docker volume ls时,我在下面仅看到json,它根本不像我的dbdata卷:
[
{
"CreatedAt": "2020-11-03T09:19:37Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/5d668164c5bcdf4cc01e4c8fbc20cc1155f757d4ba06dc5118fa2d0a0b5efb9b/_data",
"Name": "5d668164c5bcdf4cc01e4c8fbc20cc1155f757d4ba06dc5118fa2d0a0b5efb9b",
"Options": null,
"Scope": "local"
}
]
但是 here我找到了这个报价。

When you create a volume, it is stored within a directory on the Docker host


因此,我的docker卷完全不应该位于WSL 2文件系统上,它们应该位于 Docker host instead上。那为什么在WSL中看到我的卷?

最佳答案

因为,您引用的引用适用于名为卷的。也就是说,通过docker volume create命令创建的卷或在docker-compose.yml根volumes部分的docker-compose.yml中定义的卷,但不在特定服务的vols部分。
更具体地说,该语法创建bind mount而不是命名卷。

关于docker - 主机系统中的卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64694600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com