Com o Docker Compose v1.6.0+, agora há uma sintaxe de arquivo nova/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 é nomear volumes lá e ter um único caminho de referência de volume múltiplo em meu disco host local. O seguinte é um exemplo, lançando uma exceção com um Traceback
que 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/shareme
volumes:
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, li todos os documentos do Docker Compose master
-branch Referência de configuração de volume, a referência de Volume/Driver de volume dos documentos do Docker Compose e examinei os exemplos do GitHub para encontrar a sintaxe correta esperada. Parece que ninguém ainda está usando isso (GitHub) e a documentação está longe de estar completa (docker.com). Também tentei criar 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?