compose commands docker docker-compose volume

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