Avec Docker Compose v1.6.0 +, il existe maintenant une nouvelle syntaxe de fichier / version 2 pour le docker-compose.yml
fichier. Les modifications incluent une clé distincte de niveau supérieur nommée volumes
. Cela permet de "centraliser" les définitions de volume en un seul endroit.
Ce que j'essaie de faire, c'est de nommer les volumes et d'avoir un chemin d'accès multiple de référence de volume unique sur mon disque hôte local. Voici un exemple, levant une exception avec un Traceback
qui se termine par
AttributeError: 'list' object has no attribute 'items'
Exemple 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
… ?
Jusqu'ici, j'ai lu toute la référence de configuration de volume Docker Compose docs- master
branch , la référence Volume / Pilote de Docker Compose et j'ai consulté des exemples GitHub pour trouver la syntaxe correcte attendue. Il semble que personne ne l'utilise déjà (GitHub) et la documentation est loin d'être complète (docker.com). J'ai également essayé de créer un volume séparé service
et de le référencer volumes
, mais cela ne fonctionne pas aussi bien. Toute idée sur la façon dont cette syntaxe est censée ressembler?