Windows 上 Docker-compose 中的 SMB/CIFS 卷

ord*_*ion 2 smb cifs volume docker docker-compose

我有一个带有共享 CIFS/SMB 共享的 NAS,我想在 Windows 上使用 docker-compose 将其安装为卷。

我已经阅读了多个建议(例如使用插件,将其安装在 Windows 中以为其提供驱动器号),但没有找到任何可以工作的内容。我知道这不是 100% 直接的,因为我是从另一个操作系统内部访问它的。但这听起来应该是可能的。

所以说我有一个网络路径,\\my-nas\share我将如何在 Windows 主机上使用 docker-compose 将它安装在 docker 容器中?

ord*_*ion 5

我完全误解了这个 docker docs 页面,它说

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"
Run Code Online (Sandbox Code Playgroud)

[username]和替换[password]为 NAS 的实际用户名和密码,它可以完美运行。

  • 这对我有用,但是我必须添加一项才能让它识别主机名(在本例中为 my-nas)与 IP 地址。在 Options 语句中,我必须添加 addr 参数。它最终看起来像这样 `o: "username=[username],[password=[password],addr=my-nas` 其中 my-nas 是我想要连接的服务器的主机名。我找到了这个推荐这里[https://github.com/moby/moby/issues/42007] (4认同)