GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Volúmenes de Docker:Cómo crear y comenzar

Introducción

Los volúmenes de Docker son herramientas muy utilizadas y útiles para garantizar la persistencia de los datos mientras se trabaja en contenedores. Son una mejor alternativa que compilar capas de escritura adicionales, que aumentan el tamaño de la imagen de Docker.

En este tutorial, aprenda a usar Docker Volumes con ejemplos prácticos.

¿Qué son los volúmenes de Docker?

Los volúmenes de Docker son sistemas de archivos montados en contenedores de Docker para conservar los datos generados por el contenedor en ejecución.

Los volúmenes se almacenan en el host, independientemente del ciclo de vida del contenedor. Esto permite a los usuarios realizar copias de seguridad de datos y compartir sistemas de archivos entre contenedores fácilmente.

Primeros pasos con los volúmenes de Docker

Hay diferentes formas de montar un volumen de Docker mientras se lanza un contenedor. Los usuarios pueden decidir entre -v y el --mount banderas, que se agregan a la docker run comando.

Este artículo muestra ejemplos del uso de ambas banderas.

Cómo crear un volumen Docker

Para crear un Volumen Docker use el comando:

docker volume create [volume_name]

Docker crea automáticamente un directorio para el volumen en el host en /var/lib/docker/volume/ sendero. Ahora puede montar este volumen en un contenedor, lo que garantiza la persistencia de los datos y el intercambio de datos entre varios contenedores.

Por ejemplo, para crear un volumen con el nombre datos , ejecutaría el comando:

docker volume create data

Lista de volúmenes de Docker

Para verificar que ha creado correctamente un volumen de Docker, solicite a Docker que enumere todos los volúmenes disponibles con:

docker volume list

La salida muestra una lista de volúmenes, especificando su ubicación (CONTROLADOR ) y su NOMBRE DEL VOLUMEN . En la imagen a continuación, puede ver el volumen de datos creado en la sección anterior.

Inspección de volúmenes de Docker

Para ver más información sobre un volumen de Docker, use el inspect comando:

docker volume inspect [volume_name]

Enumera los detalles de un volumen, incluida su ubicación en el archivo host (Punto de montaje ). Todo lo que está almacenado en el volumen de datos también se puede encontrar en el directorio que se encuentra debajo de la ruta del punto de montaje.

Montar un volumen de datos

Para montar un volumen de datos en un contenedor, agregue --mount marcar a docker run dominio. Agrega el volumen al contenedor especificado, donde almacena los datos producidos dentro del entorno virtual.

Para ejecutar un contenedor y montar un volumen de datos en él, siga la sintaxis básica:

docker run --mount source=[volume_name],destination=[path_in_container] [docker_image]

Reemplazar [path_in_container] con la ruta donde desea colocar el volumen de datos en el contenedor. Todo lo que se almacena en ese directorio también se guarda automáticamente en el volumen de datos del host.

Por ejemplo, para lanzar un contenedor de Ubuntu y montar los datos volumen, ejecute:

docker run -it --name=example1 --mount source=data,destination=/data ubuntu

El comando le indica a Docker que ejecute un contenedor en modo interactivo (-it ) de la imagen de Ubuntu, bajo el nombre example1 , mientras monta los datos del volumen en el /data directorio dentro del contenedor.

Luego, verifique para verificar que el volumen se montó con éxito enumerando el contenido del contenedor:

ls

Busque el volumen de Docker con el nombre definido al iniciar el contenedor. En este ejemplo, son datos .

Copiar archivos entre contenedores desde un volumen compartido

Veamos cómo los volúmenes de Docker le permiten compartir archivos entre contenedores.

Para hacerlo, usamos el volumen y el contenedor creados en la sección anterior. Esto incluía ejecutar los comandos:

  • docker volume create data
  • docker run -it --name=example1 --mount source=data,destination=/data ubuntu

1. Una vez que haya cambiado al símbolo del sistema del contenedor, muévase al directorio del volumen de datos:

cd data

2. Cree un archivo de muestra vacío usando el comando táctil:

touch sample1.txt

3. Ahora, salga del contenedor:

exit

4. Luego, lanza un nuevo contenedor example2 con el mismo volumen de datos:

docker run -it --name=example2 --mount source=data,destination=/data ubuntu

5. Liste el contenido del contenedor. Debería encontrar el directorio de datos, como en example1 :

ls

6. Vaya al directorio de datos y enumere su contenido:

cd data
ls

El resultado debe mostrar el sample1.txt archivo que creó en el contenedor anterior (example1 ).

Montar un directorio de host como un volumen de datos

También puede montar un directorio existente desde la máquina host a un contenedor. Este tipo de volumen se denomina Volúmenes de host .

Puede montar volúmenes de host utilizando -v bandera y especificando el nombre del directorio host.

Todo lo que se encuentre dentro del directorio del host estará disponible en el contenedor. Además, todos los datos generados dentro del contenedor y colocados en el volumen de datos se almacenan de forma segura en el directorio del host.

La sintaxis básica para montar un directorio de host es:

docker run -v "$(pwd)":[volume_name] [docker_image]

El "$(pwd)" El atributo indica a Docker que monte el directorio en el que se encuentra actualmente el usuario.

El siguiente ejemplo describe cómo se hace esto.

1. Primero, cree un directorio de muestra en el host con el nombre tmp y acceda a él:

mkdir tmp
cd tmp

2. Una vez dentro del directorio, cree un archivo de prueba para ver si estará disponible desde el contenedor:

touch file.txt

2. Luego, usa la docker run comando para iniciar un contenedor de Ubuntu con el directorio de host adjunto:

docker run -it -v "$(pwd)":/data1 ubuntu

Esto inicia el contenedor en modo interactivo y monta un volumen con el nombre data1 .

3. Enumere el contenido del contenedor y verifique que haya un dato1 directorio:

ls

4. Abra el directorio montado y enumere el contenido. El resultado debe mostrar el archivo que creó en el host:

cd data1
ls

Permiso de volumen y propiedad

Los permisos de volumen se pueden cambiar configurando la propiedad dentro del Dockerfile.

Usa el RUN instrucción y el chown Comando para establecer el permiso de volumen de Docker. Asegúrese de que esta instrucción preceda a la línea que define el VOLUME .

Como alternativa, puede cambiar la propiedad del directorio utilizado como volumen de host.

Para obtener instrucciones sobre cómo usar el chown comando, consulte el Tutorial de permisos de archivos de Linux:cómo comprobar y cambiar los permisos.

Cómo eliminar volúmenes de Docker

Para eliminar un volumen de Docker, debe especificar su nombre.

La sintaxis básica para eliminar un volumen de Docker en la línea de comandos es:

docker volume rm [volume_name]

Docker elimina volúmenes solo si no están en uso en ese momento. Si hay un contenedor con el volumen especificado, responde con un error. Para continuar, detenga y elimine el contenedor y luego vuelva a ejecutar docker volume rm comando.

Cómo eliminar todos los volúmenes a la vez

Para eliminar todos los volúmenes de Docker no utilizados con un solo comando:

docker volume prune

El resultado le advierte que eliminará todos los volúmenes locales no utilizados por al menos un contenedor. Presiona y para continuar.


Ubuntu
  1. ¿Cómo empezar con las traducciones?

  2. ¿Cómo crear una partición Lvm/volumen físico> 2 tb?

  3. ¿Cómo empezar con Juju?

  4. Comprender los volúmenes de Docker

  5. Cómo obtener información sobre un contenedor en Docker

Lxc y cómo empezar?

Cómo agregar un volumen a un contenedor Docker existente

Docker en Windows? ¡Comienza a aprender ahora o…!

Cómo crear volúmenes Docker en Windows de forma fácil

Cómo obtener la dirección IP del contenedor Docker

Cómo comenzar con Arch Linux