Com o Docker Compose v1.6.0 +, agora existe 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 único local.
O que estou tentando fazer é nomear volumes e ter um único caminho de referência de volume múltiplo no meu disco host local. A seguir, é apresentado um exemplo, lançando uma exceção com uma 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é o momento, li todas as referências de configuração do Docker Compose docs master
-branch Volume, a referência do Docker Compose docs Volume / Volume-Driver e examinei os exemplos do GitHub para encontrar a sintaxe correta esperada. Parece que ninguém já está usando isso (GitHub) e a documentação está longe de estar completa (docker.com). Também tentei criar um volume separado service
e referenciá-lo volumes
, mas isso também não funciona. Alguma idéia de como essa sintaxe deve se parecer?