【问题标题】:Docker add network drive as volume on windowsDocker在Windows上添加网络驱动器作为卷
【发布时间】:2018-10-18 17:54:36
【问题描述】:

我正在尝试将网络驱动器安装为卷。这是我正在尝试的命令

docker run -v //NetworkDirectory/Folder:/data alpine ls /data

我在 Windows 上运行此命令,数据目录为空。如何将此网络目录挂载为 Windows 主机上的卷并在容器内访问它?

使用本地目录可以正常工作,因此以下命令可以按预期工作。

docker run -v c:/Users/:/data alpine ls /data

我可以让它在 linux 中工作,因为我可以使用 cifs-utils 将共享挂载到本地目录并将该目录用作卷。

编辑:看起来这是不可能的:How to mount network Volume in Docker for Windows (Windows 10)

【问题讨论】:

    标签: docker docker-volume


    【解决方案1】:

    我的同事想出了这个,它适用于我们公司的网络驱动器,它可能会帮助那里的人。

    我们首先创建一个名为 mydockervolume 的 docker 卷。

    docker volume create --driver local --opt type=cifs --opt device=//networkdrive-ip/Folder --opt o=user=yourusername,domain=yourdomain,password=yourpassword mydockervolume
    
    • --driver 指定卷驱动名称
    • --opt 设置驱动程序特定选项。我猜他们是在容器启动时给 linux mount 命令的。

    然后我们可以测试该卷是否适用于
    docker run -v mydockervolume:/data alpine ls /data

    Here you can read more about driver specific options and docker volume create

    【讨论】:

    • 解释它们的作用以及您在哪里测试它们可能会有所帮助。从“我的同事给我这个”这句话看来你没有测试,只是四处询问......
    • @JulioCezarSilva 我试图解释更多。我自己使用此代码,因为我无法在当前机器上本地安装卷(没有管理员和防火墙设置)。
    • 我仔细地遵循了这一点。 docker volume create 发生没有错误(但我不知道它是否检查了很多)。尝试执行 docker 测试运行导致出现“无效参数”消息。无法挂载本地卷。
    • 这只适用于 Linux,对吧?由于 windows 音量命令不支持任何选项。这个问题的标题是 windows。
    • @Json 据我所知,这只适用于 Linux 容器(alpine 是 linux)。主机是 windows 机器,因为我使用 windows pc 进行开发。
    【解决方案2】:

    我没有在 docker 上找到原生 CIFS 存储驱动程序。

    您可以使用像这样的外部卷插件:https://github.com/ContainX/docker-volume-netshare,它支持 NFS、AWS EFS 和 Samba/CIFS

    【讨论】:

    • 谢谢,这实际上允许我们从容器中挂载共享。虽然我想将共享作为卷添加到 Windows 主机的容器中。看到这个链接它看起来不像是可能的。 stackoverflow.com/questions/42287408/…
    • 是的,这是不可能的。您应该使用 nfs 或 iSCSI 进行类似的设置
    猜你喜欢
    • 2020-05-06
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2015-02-09
    相关资源
    最近更新 更多