gpt4 book ai didi

docker - 为什么从docker容器中看不到/var/lib/docker/volumes//_ data/中的文件?

转载 作者:行者123 更新时间:2023-12-02 19:05:10 28 4
gpt4 key购买 nike

了解了docker(在Ubuntu 18.04 LTE(仿生)上),特别是关于管理持久数据的知识,我发现docker volumes

按照那里的示例,我尝试将一些文件添加到卷中,然后从容器中列出它们:

root@srv /v/l/machines# docker volume create hello
hello
root@srv /v/l/machines# docker run -d -v hello:/world busybox ls /world

Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
57c14dd66db0: Pull complete
Digest: sha256:7964ad52e396a6e045c39b5a44438424ac52e12e4d5a25d94895f2058cb863a0
Status: Downloaded newer image for busybox:latest
d488dd535de01209ccc4f4bbf9a269d7932868ca41c9fe538d7a95fad66cefae

卷中没有数据,因此 ls输出为空。还行吧。
root@srv /v/l/machines# docker volume inspect hello
[
{
"CreatedAt": "2019-01-14T14:57:47+01:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/hello/_data",
"Name": "hello",
"Options": {},
"Scope": "local"
}
]
root@srv /v/l/machines# date > /var/lib/docker/volumes/hello/_data/a.txt
root@srv /v/l/machines# date > /var/lib/docker/volumes/hello/_data/b.txt
root@srv /v/l/machines# docker run -d -v hello:/world busybox ls /world

ced5591203511f2f9a0194431ba8fca81df8442c38be993de454cadb1b93da09
root@srv /v/l/machines# docker run -d -v hello:/world busybox ls /world

7987ce187747016e81469cb1a150aa0a85ded58521fbc03f1a0f55e2e07358f0

root@srv /v/l/machines# ls /var/lib/docker/volumes/hello/_data/
a.txt b.txt

这部分我不明白。 我在docker volume inspect指出的地方添加了一些文件,但在装载该卷的Docker容器中,它们似乎不可见。为什么会这样呢?

最佳答案

您的容器以分离模式运行,这就是为什么您看不到任何输出的原因。

尝试运行docker logs <container-id>,它应该显示ls -command的结果。

另外,您可以省略-d标志以在前台运行容器。这在您只想尝试的情况下特别有用。

文档:docker run – detached vs foreground

关于docker - 为什么从docker容器中看不到/var/lib/docker/volumes/<volume>/_ data/中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54183196/

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