📜  Windows 中的 docker 卷在哪里 (1)

📅  最后修改于: 2023-12-03 14:48:29.533000             🧑  作者: Mango

Windows 中的 Docker 卷在哪里

Docker 卷是 Docker 中一个非常重要的概念,它可以用于在容器与宿主机之间共享数据,同时也可以在容器之间共享数据。在 Windows 上使用 Docker 时,卷的位置是非常关键的。

Windows 容器卷的位置

在 Windows 中,Docker 卷默认会存储在宿主机的本地磁盘上。如果你使用的是 Docker Desktop,则默认磁盘位置是 C:\Users\Public\Documents\Hyper-V\Virtual hard disks

在此位置下,Docker 默认会为每个容器创建一个虚拟硬盘,容器内的所有卷都会挂载到这个虚拟硬盘中。如果你使用的是 Windows 10 版本的 Docker Desktop,则可以在 Docker Desktop 的设置页面中更改磁盘位置。

Docker 卷的使用

注意,在 Windows 上使用 Docker 卷需要特别注意文件系统的大小写敏感问题。如果你的卷使用了大小写敏感的文件系统,则在容器内使用时需要注意文件名的大小写,否则可能会出现一些意想不到的问题。

在 Docker 中,我们可以使用 docker volume create 命令来创建一个新的卷。例如:

$ docker volume create myvol

这会在 Docker 中创建一个名为 myvol 的新卷。我们可以在运行容器时使用 -v 参数来将这个卷挂载到容器内的某个路径:

$ docker run -v myvol:/data myimage

这会将 myvol 卷挂载到容器内的 /data 路径下。

Docker 卷的备份与恢复

在 Docker 中,我们可以使用 docker volume create 命令来创建一个新的卷。如果需要备份或恢复 Docker 卷,则可以使用以下命令:

备份 Docker 卷
$ docker run --rm -v myvol:/source -v /path/to/backup:/backup alpine:latest tar -czvf /backup/myvol.tar.gz -C /source .

这会将 myvol 卷中的所有数据备份到本地的 /path/to/backup/myvol.tar.gz 文件中。

恢复 Docker 卷
$ docker run --rm -v myvol:/target -v /path/to/backup:/backup alpine:latest tar -xzvf /backup/myvol.tar.gz -C /target

这会将本地的 /path/to/backup/myvol.tar.gz 文件中的数据恢复到 myvol 卷中。

总结

Windows 中的 Docker 卷默认存储于宿主机的本地磁盘。我们可以使用 docker volume create 命令来创建和管理 Docker 卷。备份和恢复 Docker 卷可以使用 tar 命令。在使用 Docker 卷时,需要注意文件系统的大小写敏感问题。