Docker 在 windows 上添加网络驱动器作为卷

Docker add network drive as volume on windows

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

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 上没有找到本机 CIFS 存储驱动程序。

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

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

我们首先创建一个名为 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