【发布时间】:2017-12-03 03:11:29
【问题描述】:
使用 docker-compose synthax v2,我们能够做这样的事情:
version: '2'
services:
app:
image: tianon/true
volumes:
- ../app:/var/www/app
nginx:
image: nginx
volumes_from:
- app
php:
image: php
volumes_from:
- app
在 v3.2 中,volumes_from 现在是 invalid option。该文档全部用于使用新的顶级卷合成器,即all the ways better。
我在github上读过一些cmets,人们提出的唯一解决方案是
version: '3.2'
services:
nginx:
image: nginx
volumes:
- app:/var/www/app
php:
image: php
volumes:
- app:/var/www/app
volumes:
app:
driver_opts:
type: none
device: ../app
o: bind
这显然看起来更糟,甚至对我不起作用。它给了我一个错误:no such file or directory。那我还应该尝试什么?似乎我仍然可以使用 links 而不是顶级卷,但它被视为文档中的遗留选项。那么如何正确使用新语法呢?
编辑: 问题已被确定为可能重复,但我不同意。请参阅下面的评论以获取解释。
【问题讨论】:
-
@panK 我在询问原生 docker 方式来做我能够用 v2 合成器实现的事情。如果需要第三方插件来达到同样的效果,那么答案可能是:不可能。但我不确定实际情况是否如此,因为从我在 github repo 上看到的内容来看,建议的插件没有得到积极维护,也不是很受欢迎。同时,这是很常见的用例。因此,我假设该问题的作者正在寻找任何可能的选择,并且我正在寻找本地的“官方” docker 方式。
-
我将其标记为可能重复,因为那天我浏览了许多与“volumes_from”相关的帖子,我相信每个人都在寻找原生、官方和可靠的解决方案。我找不到任何官方的,因为看起来他们只是放弃了这个想法。这是我坚持使用 v2 语法的唯一原因。
-
@panK 好吧,那么你可以在下面发布一个答案,提出一些论点,如果真的“不可能”,那么我会接受这个作为回答。
标签: docker docker-compose docker-volume