卷和docker-compose

7
我正在尝试创建一个包含--volumes-from指令的docker-compose.yml文件。是否有人知道语法?
我已经在网上查找了一段时间,似乎--volumes-from命令只能作为docker命令使用。但我希望我是错的。
1个回答

12

2022年8月:

brandt评论中指出了更新的docker-compose文档


注:2017年8月关于docker-compose版本3有关卷的内容:

顶层的volumes键定义了一个命名卷,并从每个服务的卷列表中引用它。
这替换了Compose文件格式早期版本中的volumes_from。有关卷的一般信息,请参阅使用卷卷插件

例如:

version: "3.2"
services:
  web:
    image: nginx:alpine
    volumes:
      - type: volume
        source: mydata
        target: /data
        volume:
          nocopy: true
      - type: bind
        source: ./static
        target: /opt/app/static

  db:
    image: postgres:latest
    volumes:
      - "/var/run/postgres/postgres.sock:/var/run/postgres/postgres.sock"
      - "dbdata:/var/lib/postgresql/data"

volumes:
  mydata:
  dbdata:

此示例展示了使用命名卷 (mydata) 的 web 服务,并且为单个服务定义了一个绑定挂载(在 db 服务卷的第一路径下)。

db 服务还使用名为 dbdata 的命名卷(在 db 服务卷的第二路径下),但是使用了旧的字符串格式来定义它。

如上所示,命名卷必须列在顶级卷键下。


2016年2月:

docs/compose-file.md 提到:

从另一个服务或容器中挂载所有卷,可选择指定只读访问(ro)或读写(rw)。

(如果未指定访问级别,则将使用读写。)

volumes_from:
 - service_name
 - service_name:ro
 - container:container_name
 - container:container_name:rw

例如(从这个问题这个问题

version: "2"

services:
...
  db:
    image: mongo:3.0.8
    volumes_from:
      - dbdata
    networks:
      - back
    links:
      - dbdata

 dbdata:
    image: busybox
    volumes:
      - /data/db


1
@Pietro 已修改。 - VonC
docker-compose 参考文档没有详细阐述顶层卷键的语法。我该如何在顶层键下配置命名卷的源、选项等? - Ungeheuer
1
@Ungeheuer 五年后,我不确定。 - VonC
哈哈,我没注意到那个Von上的日期!抱歉 :) - Ungeheuer
@Ungeheuer 没问题:如果您发现有关这些选项的更多细节,请编辑此答案。 - VonC
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接