使用Docker for Windows启动SMB容器

使用Docker for Windows启动SMB容器,docker,docker-for-windows,smb,Docker,Docker For Windows,Smb,我有一个Docker卷,由几个容器(运行在Windows上的Linux容器)使用。我希望能够通过Windows资源管理器从Windows计算机访问卷,最好使用网络驱动器,例如: services: smbd: image: dperson/samba ports: - "445:445/tcp" volumes: - data:/public ... volumes: data: external:

我有一个Docker卷,由几个容器(运行在Windows上的Linux容器)使用。我希望能够通过Windows资源管理器从Windows计算机访问卷,最好使用网络驱动器,例如:

services:
  smbd:
    image: dperson/samba
    ports:
      - "445:445/tcp"
    volumes:
      - data:/public

...
volumes:
  data:
    external:
      name: mydrive
在Windows中,我可以将驱动器Z:连接到
\\docker.ip.address\public
,并可以查看其内容,例如,如果上面的卷
mydrive
包含子文件夹
mystuff
,我将在Windows上看到以下内容:

- Z:\mystuff
问题是,445已经在本地主机上使用(当然是对于SMB),不能使用其他端口,因为SMB是不可原谅的。如果您使用虚拟机,没有问题,因为虚拟机将有自己的适配器和IP,所以445再次是免费的

一种可能是通过不同的适配器连接Docker(而不是尝试使用
localhost:445
),但我不知道如何使用Windows来实现这一点

需要SMB(而不是直接通过资源管理器访问托管卷)的原因是,可以在Docker中轻松切换出卷。在我的例子中,一个仍然适用于Docker卷的替代方案也可以