Docker容器如何在不将共享安装到主机OS中的情况下完全访问Windows共享?

时间:2019-02-08 20:27:04

标签: docker docker-compose docker-volume

我在Linux上使用docker,我希望允许我的容器完全访问具有以下结构的Windows共享(名为myshare,并设置了适当的权限)

d:\myshare
       foo
       bar

作为一项测试,我已经验证了将以下内容放入/etc/fstab中会创建一个挂载,使我可以读写Windows共享。

//172.16.68.6/myshare  /home/me/foo  cifs username=myuser,password=mypass,domain=172.16.68.6,uid=1000

我不想使用/etc/fstab,而是希望能够在docker中创建一个卷,以便可以在docker-compose.yml中执行以下操作

volumes:
  - /myshare/foo:/foo

理想情况下,我希望能够创建一个卷,然后只需追加目录名称(就像我上面对foo所做的那样),所以我不必创建多个卷。但是到目前为止,我什至无法在连接到Windows共享的docker主机上创建挂载。我什至不知道如何在卷中“窥视”。我已经尝试过使用portainer,但是它告诉我音量没有被使用。

如何创建此卷并使用它(最好在docker-compose中使用)?

1 个答案:

答案 0 :(得分:0)

我认为答案是使用docker volume插件。https://docs.docker.com/engine/extend/plugins_volume/

最好已经存在一个。搜索它,找到它,并按照其说明进行操作。您应该能够做到。检查https://docs.docker.com/engine/extend/legacy_plugins/中可能的候选对象。

或者,您可以编写自己的Docker卷插件。请确保将其发布以使他人受益。这将需要大量的技能,因此可能不切实际。