Con Docker Compose v1.6.0 +, ahora hay una nueva sintaxis de archivo / versión 2 para el docker-compose.ymlarchivo. Los cambios incluyen una clave de nivel superior separada llamada volumes. Esto permite "centralizar" las definiciones de volumen en un solo lugar.
Lo que estoy tratando de hacer es nombrar volúmenes allí y tener una ruta múltiple de referencia de volumen único en mi disco host local. El siguiente es un ejemplo, arrojando una excepción con un Tracebackque termina con
AttributeError: 'list' object has no attribute 'items'
Ejemplo 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
… ?
Hasta ahora, leí toda la referencia de configuración de Docker Compose docs master-branch Volume, Docker Compose docs Volume / Volume-Driver reference y busqué en los ejemplos de GitHub para encontrar la sintaxis correcta que se espera. Parece que nadie ya está usando eso (GitHub) y la documentación está lejos de estar completa (docker.com). También intenté construir un volumen separado servicey hacer referencia a él volumes, pero eso tampoco funciona. ¿Alguna idea de cómo se supone que debe ser esta sintaxis?