J'utilise docker-compose et v3. J'essaye de monter un volume dans le docker:
./appdata:/appdata
Je voudrais avoir ceci comme volume, puis référencer ce volume à partir de plusieurs conteneurs. La référence de configuration de volume s'affiche uniquement data-volume:
sous la forme d'un volume nommé, sans valeur, donc cela ne ressemble pas à ce qui précède.
services:
nginx:
build: ./nginx/
ports:
- 80:80
links:
- php
volumes:
- app-volume
php:
build: ./php/
expose:
- 9000
volumes:
- app-volume
volumes:
app-volume: ./appdata:/appdata
Cela me donne:
ERREUR: dans le fichier './docker-compose.yml', le volume 'app-volume' doit être un mappage et non une chaîne.
Évidemment, je sais que j'ai besoin de changer la volumes
paire clé / valeur, mais je ne sais pas comment changer cela pour pouvoir partager un volume entre les services.
J'ai également vérifié, volumes_from
mais cela permet simplement l'héritage d'autres conteneurs. J'ai vu quelqu'un utiliser volumes_from
sur un autre conteneur qui contient le mappage souhaité, mais avec command: true
set pour que le conteneur ne soit jamais réellement exécuté, ce qui me semble être un hack.
Comment puis-je faire ceci?
Remarque, je fais fonctionner les éléments suivants:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
Mais ce n'est que de la duplication et j'espère qu'un volume nommé pourrait m'aider à éviter :-)