在Docker Desktop(Windows)中查找数据卷

布拉德

目前,我正在尝试学习docker,但对于数据量实际存在的位置感到困惑。

我正在使用Windows的Docker桌面(Windows 10)

他们在文档中说,在对象上运行docker inspect将为您提供源:https : //docs.docker.com/engine/tutorials/dockervolumes/#locating-a-volume

$ docker inspect web

"Mounts": [
    {
        "Name": "fac362...80535",
        "Source": "/var/lib/docker/volumes/fac362...80535/_data",
        "Destination": "/webapp",
        "Driver": "local",
        "Mode": "",
        "RW": true,
        "Propagation": ""
    }
]

但是我没有看到这个,我得到以下信息:

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

谁能帮我?我只想知道我的数据量实际存在于何处?如果是这样,我该怎么走呢?

shizhz

您的卷目录是/var/lib/docker/volumes/blog_postgres-data/_data/var/lib/docker通常安装在中C:\Users\Public\Documents\Hyper-V\Virtual hard disks无论如何,您可以通过查看Docker设置来进行检查。

您可以参考这些文档以获取有关如何在Windows上与Docker共享驱动器的信息。

BTWSource是主机Destination上的位置,也是以下输出中容器内部的位置:

"Mounts": [
{
    "Name": "fac362...80535",
    "Source": "/var/lib/docker/volumes/fac362...80535/_data",
    "Destination": "/webapp",
    "Driver": "local",
    "Mode": "",
    "RW": true,
    "Propagation": ""
}
]

================================================== ========================

更新以回答评论中的问题:

我的主要好奇是共享图像等很棒,但是如何共享数据?

实际上volume是为此目的而设计的(在Docker容器中管理数据)。卷中的数据保留在主机FS上,并与Docker容器/映像的生命周期隔离。您可以通过以下方式批量共享数据:

  • 挂载Docker卷以托管和重用它

    docker run -v /path/on/host:/path/inside/container image

    然后,所有数据将保留在其中/path/on/host您可以备份它,将其复制到另一台计算机上,然后以相同的体积重新运行容器。

  • 创建并安装数据容器。

    创建一个数据容器: docker create -v /dbdata --name dbstore training/postgres /bin/true

    使用--volumes-from基于此容器运行其他容器docker run -d --volumes-from dbstore --name db1 training/postgres,然后生成的所有数据db1将保留在容器中dbstore

有关更多信息,您可以参考官方Docker卷文档

简而言之,volumes它只是主机上包含所有容器数据的目录,因此您可以使用以前使用的任何方法来备份/共享数据。

我可以像处理图像一样将卷推送到docker-hub吗?

否。您可以将Docker映像推送到Docker集线器(也称为“注册表”)。但是数据不是。您可以使用任何喜欢的方法来备份/持久/共享数据,但是将数据推送到Docker注册表以共享它没有任何意义。

我可以进行备份等吗?

是的,如上所述:-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

docker postgres,无法在Windows中映射卷

来自分类Dev

Docker 卷中的 Docker 机密

来自分类Dev

在Docker中映射卷

来自分类Dev

dockerfiles中的docker卷

来自分类Dev

在Docker中映射卷

来自分类Dev

如何在Docker容器中从主机查找卷文件?

来自分类Dev

通过保存映像中的数据在Docker中挂载卷

来自分类Dev

我如何在Docker映像中包含卷数据

来自分类Dev

docker卷中的sqlite数据库未打开

来自分类Dev

Docker / Docker-Compose中的NFS卷

来自分类Dev

docker-desktop应用程序将其卷放在Windows上的何处?

来自分类Dev

Ubuntu中Docker卷的路径

来自分类Dev

Docker:Windows 10版Docker中Linux容器卷的“未找到”和“无效句柄”错误

来自分类Dev

Docker / Windows Container:如何在Windows 2016上将主机文件夹作为数据卷挂载

来自分类Dev

Docker命名卷与DOC(仅数据容器)

来自分类Dev

如何存储Docker容器的非卷数据?

来自分类Dev

Docker 卷不存储整个数据

来自分类Dev

docker run 期间的 docker 卷

来自分类Dev

Windows WSL2上的Docker卷

来自分类Dev

Windows的Docker:访问命名的卷安装

来自分类Dev

Docker:使用Docker Toolbox在Windows上共享卷

来自分类Dev

Boot2Docker挂载主机卷以使用Windows外部化数据

来自分类Dev

我们如何在 Windows 中导入 docker 数据卷?

来自分类Dev

docker 在 docker 中 docker compose

来自分类Dev

您可以将初始数据添加到Docker中可用的卷中吗?

来自分类Dev

Docker容器中的卷权限错误

来自分类Dev

如何更改Docker卷中的权限?

来自分类Dev

在docker-compose中创建卷

来自分类Dev

Docker卷在容器行为中造成故障