首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WSL2装载VHDX虚拟磁盘与Windows docker卷的问题

WSL2装载VHDX虚拟磁盘与Windows docker卷的问题
EN

Stack Overflow用户
提问于 2021-01-03 18:46:40
回答 1查看 862关注 0票数 0

在Windows10Insider预览版(prerelease.201207-1443)上,我已经用WSL2成功地挂载了一个vhdx文件。

代码语言:javascript
运行
复制
PS C:\Users> wmic diskdrive list brief
Caption                     DeviceID            Model                       Partitions  Size
..
Microsoft virtuális lemez   \\.\PHYSICALDRIVE2  Microsoft virtuális lemez   1           5362882560

PS C:\Users> wsl --mount \\.\PHYSICALDRIVE2 --bare

在Ubuntu20.20里面看起来没问题,我可以挂载和格式化(ext4)虚拟磁盘。

代码语言:javascript
运行
复制
/dev/sde1       4.9G   20M  4.6G   1% /mnt/docker/vol/pg_disk_1

我可以使用它,读,写没有任何问题。性能很好。

问题:当我为应用程序数据创建docker容器时,我想使用这个磁盘,它在容器内不可见。

代码语言:javascript
运行
复制
docker run -d -it --name devtest --mount type=bind,source=/mnt/docker/vol/pg_disk_1/nginx,target=/app nginx:latest

docker inspect显示bind装载的卷:

代码语言:javascript
运行
复制
        "Mounts": [
        {
            "Type": "bind",
            "Source": "/mnt/docker/vol/pg_disk_1/nginx",
            "Destination": "/app",
            "Mode": "",
            "RW": true,
            "Propagation": "rprivate"
        }
    ],

当我在主机上创建一个文件时。example_host.html

代码语言:javascript
运行
复制
User@Pince:/mnt/docker/vol/pg_disk_1/nginx$ ls -l
total 0
-rw-r--r-- 1 r858 r858 0 Jan  3 11:30 example_host.html

当我检查容器内部时看不到

代码语言:javascript
运行
复制
root@078e4d7007a8:/app# ls -la
total 8
drwxr-xr-x 2 root root 4096 Jan  3 10:32 .
drwxr-xr-x 1 root root 4096 Jan  3 10:15 ..
root@078e4d7007a8:/app# pwd
/app

如果我在容器内创建一个文件,那么在重新创建容器时它将是持久的,而不是在Linux挂载的磁盘中。我在这里找到的:

代码语言:javascript
运行
复制
\\wsl$\docker-desktop\mnt\host\wsl\docker-desktop-bind-mounts\Ubuntu-20.04\...

问:这是正常的,我错过了一些东西,或者在开发的这个阶段还没有准备好。你知道有谁知道如何在Windows上使用vhdx挂载磁盘存储docker应用程序数据吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-03 20:28:24

问题是/dev/sde1是由wsl创建和管理的,所以不容易吗?可由Docker Desktop等Windows程序访问。

一种解决方法是将.\PHYSICALDRIVE2挂载为驱动器D:,并挂载为:

代码语言:javascript
运行
复制
docker run -v 'D:\data:/data' ...

这样,您就可以在Windows和wsl上访问它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65548924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档