Sto usando docker-compose e v3. Sto provando a montare un volume nella finestra mobile:
./appdata:/appdata
Mi piacerebbe averlo come volume e quindi fare riferimento a quel volume da più contenitori. Il riferimento alla configurazione del volume viene visualizzato solo data-volume:
come volume denominato, senza valore, quindi non ha l'aspetto di cui sopra.
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
Questo mi dà:
ERRORE: nel file "./docker-compose.yml", il volume "app-volume" deve essere una mappatura e non una stringa.
Ovviamente so che ho bisogno di cambiare la volumes
coppia chiave / valore, ma non sono sicuro di come cambiarlo in modo da poter condividere un volume tra i servizi.
Ho anche verificato volumes_from
ma questo in effetti consente solo l'ereditarietà da altri contenitori. Ho visto qualcuno usare volumes_from
su un altro contenitore che contiene la mappatura che desidera, ma con command: true
set in modo che il contenitore non venga mai effettivamente eseguito, il che a me sembra solo un hack.
Come posso fare questo?
Nota, io non hanno il seguente funzionamento:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
Ma questa è solo una duplicazione ed è qualcosa che spero che un volume con nome possa aiutarmi a evitare :-)