如何解决Windows 上 Docker-compose 中的 SMB/CIFS 卷
我有一个带有共享 CIFS/SMB 共享的 NAS,我想在 Windows 上使用 docker-compose 作为卷挂载。
我已经阅读了多个建议(例如使用插件,将其安装在 Windows 中以为其指定驱动器号),但没有找到任何我可以使用的建议。 我知道这不是 100% 直接的,因为我是从另一个操作系统内部访问它的。但这听起来应该是可能的。
假设我有一个网络路径 \\my-nas\share
,我将如何在 Windows 主机上使用 docker-compose 将其安装在 docker 容器中?
解决方法
我完全误解了this docker docs page的意思
The built-in local driver on Windows does not support any options.
这并不意味着您不能在 Windows 中使用 cifs 驱动程序。
解决方法很简单
services:
my-service:
volumes:
- nas-share:/container-path
volumes:
nas-share:
driver_opts:
type: cifs
o: "username=[username],password=[password]"
device: "//my-nas/share"
将 [username]
和 [password]
替换为 NAS 的实际用户名和密码,它可以完美运行。
在 WindowsServer2019 主机上使用 Windows 容器对我有用。它需要 1705 或更高版本:
https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/persistent-storage#bind-mounts
首先将文件共享挂载到主机。
$creds = 获取凭证
New-SmbGlobalMapping -RemotePath \contosofileserver\share1 -Credential $creds -LocalPath G:
然后在 compose 中正常映射驱动器:
services:
my-service:
volumes:
- Z:\:/container-path
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。