V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
l0ad1ng
V2EX  ›  Windows

基于 WLS2 的 docker desktop 无法将系统中的挂载目录,挂载到容器里

  •  
  •   l0ad1ng · 121 天前 · 1322 次点击
    这是一个创建于 121 天前的主题,其中的信息可能已经有所发展或是发生改变。
    cd ~
    mkdir test
    mount --bind /etc test
    docker run -it --rm -v test:/data debian ls /data
    

    这时候容器里的/data 目录是空的,没有/etc 目录中的文件

    只要是 mount 上去的目录,不管是本地还是远程的,docker 都挂不进去。挂进去的其实是原始的~/test目录。

    有人知道是为什么吗?

    10 条回复    2024-07-20 11:52:24 +08:00
    yinmin
        1
    yinmin  
       121 天前 via iPhone
    -v 后面的 test 要用全路径,只用 test 不是路径是 volume
    iv8d
        2
    iv8d  
       121 天前
    都用全路径试试,另外你是不是挂载的卷
    yinmin
        3
    yinmin  
       121 天前 via iPhone
    docker volume list 能看到一个名为 test 的 volume ,你挂接的是 volume:test
    mmdsun
        4
    mmdsun  
       121 天前 via iPhone
    你这个 test 是数据卷吧?,WSL2 直接用 Linux 版本 docker 还好用些可以不用 docker desktop
    urzz
        5
    urzz  
       121 天前
    这种跨 wsl 系统的文件访问速度咋样
    l0ad1ng
        6
    l0ad1ng  
    OP
       121 天前
    绝了,还会自动创建 volume
    l0ad1ng
        7
    l0ad1ng  
    OP
       121 天前
    @mmdsun 我也试过,WSL2 的 mirrored 网络和 Linux 版的 docker 配合不太好。
    在 windows 上无法访问 docker 映射出来的端口,只能在 wsl 里面访问。docker 配置加上 iptables: false windows 可以访问了,但容器之间就无法通信了。
    docker desktop 就都正常。
    Mageblade
        8
    Mageblade  
       121 天前
    可以的,我就在用基于 wsl2 的 docker desktop ,给你发一个我的 docker-compose 配置


    version: '3'

    name: gogs

    services:
    gogs:
    container_name: gogs
    image: gogs/gogs
    volumes:
    - 'd:/DockerVolumes/gogs:/data'
    ports:
    - '10880:3000'
    - '10022:22'
    restart: always
    huangcjmail
        9
    huangcjmail  
       120 天前
    建议看看命名卷和绑定挂载的区别。你应该是想要实现绑定挂载,需要写绝对路径。这种写法 docker 看起来是绑定命名卷,然后自动创建了 test 命名卷。
    l0ad1ng
        10
    l0ad1ng  
    OP
       120 天前
    @urzz 读写 vhdx 的性能还可以接受
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2789 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 08:30 · PVG 16:30 · LAX 00:30 · JFK 03:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.