Con Docker Compose v1.6.0 +, ahora hay una nueva sintaxis de archivo / versión 2 para el docker-compose.yml
archivo. 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 Traceback
que 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 service
y hacer referencia a él volumes
, pero eso tampoco funciona. ¿Alguna idea de cómo se supone que debe ser esta sintaxis?