Estoy usando docker-compose y v3. Estoy intentando montar un volumen en la ventana acoplable:
./appdata:/appdata
Me gustaría tener esto como un volumen y luego hacer referencia a ese volumen desde varios contenedores. La referencia de configuración del volumen solo se muestra data-volume:
como un volumen con nombre, sin valor, por lo que no se parece al anterior.
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
Esto me da:
ERROR: En el archivo './docker-compose.yml', el volumen 'app-volume' debe ser una asignación, no una cadena.
Obviamente, sé que necesito cambiar el volumes
par clave / valor, pero no estoy seguro de cómo cambiar esto para poder compartir un volumen entre servicios.
También lo he comprobado, volumes_from
pero esto efectivamente solo permite la herencia de otros contenedores. He visto a alguien usar volumes_from
en otro contenedor que contiene el mapeo que desea, pero con el command: true
conjunto para que el contenedor nunca se ejecute realmente, lo que a mí me parece un truco.
¿Cómo puedo hacer esto?
Tenga en cuenta, que no tienen el siguiente trabajo:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
Pero eso es solo una duplicación y es algo que espero que un volumen con nombre pueda ayudarme a evitar :-)