我试图创建一个包含--volumes-from
指令的docker-compose.yml文件。有谁知道语法?
我一直在网上看了一段时间,看来--volumes-from
命令只能作为docker命令使用。我希望我错了。
答案 0 :(得分:6)
2016年2月:
从另一个服务或容器挂载所有卷,可选择指定只读访问权限(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
注意2017年8月:docker-compose version 3, regarding volumes:
顶级 volumes 键定义了一个命名卷,并从每个服务的卷列表中引用它。 这将取代早期版本的Compose文件格式中的
volumes_from
。有关卷的一般信息,请参阅Use volumes和Volume Plugins。
示例:
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
服务卷下的第二个路径),但使用旧字符串格式定义它以安装命名卷。命名卷必须列在顶级卷键下,如图所示。