docker-compose commands
Cómo establecer una ruta en el host para un volumen con nombre en docker-compose.yml (2)
El siguiente ejemplo crea un volumen denominado dbdata y lo hace referencia dentro del servicio db :
version: ''2''
services:
db:
image: mysql
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
driver: local
(desde https://stackoverflow.com/a/35675553/4291814 )
Puedo ver la ruta para el volumen predeterminado:
/var/lib/docker/volumes/<project_name>_dbdata
Mi pregunta es cómo configurar la ruta en el host para el volumen
dbdata
.
Con el controlador de volumen
local
viene la capacidad de usar montajes arbitrarios;
Mediante el uso de un
montaje de enlace
puede lograr exactamente esto.
Para configurar un volumen con nombre que se monta en
/srv/db-data
, su
docker-compose.yml
se vería así:
version: ''2''
services:
db:
image: mysql
volumes:
- dbdata:/var/lib/mysql
volumes:
dbdata:
driver: local
driver_opts:
type: ''none''
o: ''bind''
device: ''/srv/db-data''
No lo he probado con la versión 2 del formato de archivo de composición, pero https://docs.docker.com/compose/compose-file/compose-versioning/#version-2 no indica que no debería funcionar.
Tampoco lo he probado en Windows ...
Docker gestiona la ubicación de los volúmenes con nombre; si desea especificar la ubicación usted mismo, puede "vincular montar" un directorio de host o usar un complemento de volumen que le permita especificar una ruta.
Puede encontrar algunos detalles en otra respuesta que publiqué recientemente; https://.com/a/36321403/1811501