Com Docker Compose v1. 6. 0+, agora há uma nova sintaxe de arquivo / Versão 2 para o docker-compose.yml
arquivo. As alterações incluem uma chave de nível superior separada chamada volumes
. Isso permite "centralizar" as definições de volume em um só lugar.
O que estou tentando fazer é nome volumes lá e têm um único caminho múltiplo de referência de volume no meu disco host local. O seguinte é um exemplo, lançando uma exceção com um Traceback
isso termina com
AttributeError: 'list' object has no attribute 'items'
Exemplo docker-compose.yml
:
version: '2'services: db: image: postgres volumes: - database:/var/lib/postgres/data php: image: php-fpm:5.6 volumes: - phpconf:/etc/php/conf.d namedvolume: container_name: namedvolume build: ./Docker/Testvolume volumes: - ./Docker/Testvolume/sharemevolumes: database: - ./Docker/Postgres/db:ro - ./Docker/Postgres/ini phpconf: - ./Docker/PHP-FPM/conf singledir: ./Docker/foo completemap: ./Docker/bar:/etc/service/conf.d - namedvolume:/etc/service/conf.d # < this was a separate attempt w/o the other keys … ?
Até agora eu li através de todos os Docker Compose docs master
-ramo Referência de configuração de Volume, o Docker Compose docs Volume / Volume - referência do Driver e olhou através Exemplos do GitHub para encontrar a sintaxe correta que é esperada. Parece que ninguém já está usando isso (GitHub) e a documentação está longe de estar completa (docker.com). eu também tentei construir um volume separado como service
e referenciá-lo em volumes
, mas isso não funciona tão bem. Alguma ideia de como essa sintaxe deve ser?