gpt4 book ai didi

Docker:此撰写文件的 docker 卷位于何处

转载 作者:IT老高 更新时间:2023-10-28 12:42:57 25 4
gpt4 key购买 nike

当我遇到这个示例撰写文件时,我正在设置一些培训 Material :

https://github.com/dockersamples/example-voting-app/blob/master/docker-compose.yml

在文件的第 48 行和第 49 行,我无法找到该卷的安装方式:

volumes:
db-data:

谁能解释一下这个卷在主机上的什么位置?找不到它,我不想在容器消失后让任何 postgresql 数据悬空。类似的事情也发生在网络上:

networks:
front-tier:
back-tier:

为什么 docker compose 接受这样的空网络定义?

最佳答案

查找卷

像这样的卷是 Docker 内部的并存储在 Docker 存储中(通常都在 /var/lib/docker 下)。您可以获得卷列表:

$ docker volume ls
DRIVER VOLUME NAME
local 1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465
local 2f13b0cec834a0250845b9dcb2bce548f7c7f35ed9cdaa7d5990bf896e952d02
local a3d54ec4582c3c7ad5a6172e1d4eed38cfb3e7d97df6d524a3edd544dc455917
local e6c389d80768356cdefd6c04f6b384057e9fe2835d6e1d3792691b887d767724

如果您愿意,您可以准确地找到卷在系统上的存储位置:

$ docker inspect 1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465
[
{
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465/_data",
"Name": "1c59d5b7e90e9173ca30a7fcb6b9183c3f5a37bd2505ca78ad77cf4062bd0465",
"Options": {},
"Scope": "local"
}
]

清理未使用的卷

只要确保东西不会悬空,您可以使用 prune 命令,在本例中为 docker volume prune。这将为您提供此输出,您可以选择是否继续修剪。

$ docker volume prune
WARNING! This will remove all volumes not used by at least one container.
Are you sure you want to continue? [y/N]

docker-compose.yml 中的“空”定义

当您除了定义一个卷或网络应该存在之外不需要做任何事情时,就会倾向于接受这些“空”的定义,比如卷和网络。也就是说,如果您想创建它,但可以使用默认设置,则没有特别的理由来指定参数。

关于Docker:此撰写文件的 docker 卷位于何处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45271420/

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