Avec Docker Compose v1.6.0+, il y a maintenant une nouvelle syntaxe de fichier (version 2) pour le fichier docker-compose.yml
fichier. Les changements incluent une clé de premier niveau distincte nommée volumes
. Cela permet de "centraliser" les définitions de volume en un seul endroit.
Ce que j'essaie de faire, c'est nom et avoir un seul volume référençant plusieurs chemins d'accès sur mon disque hôte local. Ce qui suit est un exemple, lançant une exception avec une erreur de type 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'à présent, j'ai lu tous les Docker Compose docs master
-Branche Référence pour la configuration du volume, le Docker Compose docs Référence du volume/du pilote de volume et examen de la référence du volume/du pilote de volume. Exemples sur 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 construire un volume séparé en tant que service
et le référencer dans volumes
mais cela ne fonctionne pas aussi bien. Une idée sur la façon dont cette syntaxe est censée se présenter ?