在docker撰写v3时,使用和不使用本地主机路径混合命名卷的正确方法是什么? 这样我就会收到YML错误:
['10','11','12','12.5','13','14','15.5','16']
然后我想在容器中引用卷 ...
答案 0 :(得分:2)
对于命名卷,您需要在撰写文件中的专用卷部分下声明卷名称。对于mount,您不能在该部分中声明它: 请考虑以下撰写文件:
version: "3"
services:
db:
image: db
volumes:
- data-volume:/var/lib/db
- /mnt/volume-part1:/volume
volumes:
data-volume:
正如您所看到的那样,在被分配到容器之前,要在卷部分中声明要命名的卷data-volume
needes。
而目录挂载直接安装在容器上。
<强>更新强>
如果您不想在所有容器上复制机器路径,可以使用一个聪明的技巧来指定创建命名卷的确切位置:
version: "3"
services:
db:
image: db
volumes:
- data-volume:/var/lib/db
- volume-part1:/volume
volumes:
data-volume:
volume-part1:
driver_opts:
type: none
device: /mnt/volume-part1
o: bind
如上所示,我们创建了一个命名卷volume-part1
,并指定了该卷将在主机上备份的位置。