在docker for windows

时间:2017-02-27 10:54:55

标签: windows docker

我正在Windows 10上运行linux docker容器。我需要我的主机才能访问我的容器生成的数据。如果我更新容器的图像,我还需要数据保持不变。

我在主机上创建了一个文件夹(在NTFS格式化驱动器上),在docker设置中,我与docker共享该驱动器。然后我创建了安装了主机目录的容器(使用docker run命令上的-v选项)

问题是docker会在主机上的共享驱动器上创建一个cifs mount。看起来CIFS协议不区分大小写。我创建了两个文件:

/数据/测试 /数据/检验

但是只会生成一个文件。我设置内核以支持区分大小写的文件。例如,如果我在cygwin bash中挂载相同的文件夹,我可以毫无问题地创建这两个文件。我认为问题在于CIFS实施。

我目前解决这个问题的想法:

  1. 使用Cygwin在主机上创建NFS服务器,并从linux容器中安装NFS卷。我不知道如何自动化这个过程。
  2. 使用SAMBA服务器创建另一个Linux容器。在该容器上创建一个卷:

    docker run -d -v / data --name dbstore --name a-samba-server

    然后在我的容器中使用该卷:

    docker run -d --volumes-from dbstore --name my-container my-container-image

    然后我需要在samba服务器中共享/数据并在我的主机上创建该共享的地图。

  3. 这两个解决方案看起来都非常繁琐,我想知道是否有任何方法我可以直接使用Docker原生创建的CIFS共享来解决这个问题。

0 个答案:

没有答案