Docker命名卷

时间:2018-03-02 14:02:44

标签: docker docker-compose docker-volume

在docker撰写v3时,使用和不使用本地主机路径混合命名卷的正确方法是什么? 这样我就会收到YML错误:

['10','11','12','12.5','13','14','15.5','16']

然后我想在容器中引用 ...

1 个答案:

答案 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,并指定了该卷将在主机上备份的位置。