Docker
Volúmenes de datos Docker
Buscar..
Introducción
Los volúmenes de datos de Docker proporcionan una forma de conservar los datos independientemente del ciclo de vida de un contenedor. Los volúmenes presentan una serie de características útiles, tales como:
Montar un directorio de host dentro del contenedor, compartir datos entre contenedores utilizando el sistema de archivos y preservar los datos si se elimina un contenedor
Sintaxis
- volumen de la ventana acoplable [OPCIONES] [COMANDO]
Montar un directorio del host local en un contenedor
Es posible montar un directorio de host en una ruta específica en su contenedor usando la opción de línea de comandos -v
o --volume
. El siguiente ejemplo montará /etc
en el host a /mnt/etc
en el contenedor:
(on linux) docker run -v "/etc:/mnt/etc" alpine cat /mnt/etc/passwd
(on windows) docker run -v "/c/etc:/mnt/etc" alpine cat /mnt/etc/passwd
El acceso predeterminado al volumen dentro del contenedor es de lectura y escritura. Para montar un volumen de solo lectura dentro de un contenedor, use el sufijo :ro
:
docker run -v "/etc:/mnt/etc:ro" alpine touch /mnt/etc/passwd
Creando un volumen nombrado
docker volume create --name="myAwesomeApp"
El uso de un volumen con nombre hace que la administración de volúmenes sea mucho más legible para los usuarios. Es posible crear un volumen con nombre usando el comando especificado anteriormente, pero también es posible crear un volumen con nombre dentro de un comando de docker run
la --volume
docker run
usando la opción de línea de comandos -v
o --volume
:
docker run -d --name="myApp-1" -v="myAwesomeApp:/data/app" myApp:1.5.3
Tenga en cuenta que crear un volumen con nombre en este formulario es similar a montar un archivo / directorio host como un volumen, excepto que en lugar de una ruta válida, se especifica el nombre del volumen. Una vez creados, los volúmenes nombrados se pueden compartir con otros contenedores:
docker run -d --name="myApp-2" --volumes-from "myApp-1" myApp:1.5.3
Después de ejecutar el comando anterior, un nuevo envase ha sido creada con el nombre myApp-2
de la myApp:1.5.3
imagen, que comparte la myAwesomeApp
volumen denominado con myApp-1
. El volumen llamado myAwesomeApp
se monta en /data/app
en el myApp-2
, tal como se monta en /data/app
en el myApp-1
.