Inicio > Otros paquetes externos > docker volume

Guía de comandos de Docker Volume

Los volúmenes de Docker son el mecanismo recomendado para almacenar de forma persistente los datos generados y utilizados por los contenedores de Docker. Incluso si un contenedor se elimina, los datos almacenados en el volumen se conservan, lo que le permite gestionar los contenedores sin pérdida de datos. Esta guía cubre cómo crear, gestionar y eliminar volúmenes de Docker.

Descripción general de los volúmenes de Docker

Un volumen de Docker es un directorio o archivo que se monta en una ruta específica del sistema de archivos del host. Permite gestionar los datos de forma independiente del ciclo de vida del contenedor, lo que es más flexible y eficiente que empaquetar datos con la imagen del contenedor. Los volúmenes también pueden ser compartidos por varios contenedores simultáneamente.

Por qué se necesitan los volúmenes

Los contenedores son efímeros por naturaleza. Esto significa que cuando se elimina un contenedor, todos los datos almacenados en su interior también se pierden. Para preservar de forma permanente datos importantes como bases de datos, archivos de registro o archivos subidos por el usuario, debe usar volúmenes. Los volúmenes resuelven este problema, mejorando la estabilidad y flexibilidad de las aplicaciones basadas en contenedores.

Ventajas de los volúmenes

Los principales beneficios de usar volúmenes de Docker son los siguientes:

  • Persistencia de datos: Los datos se conservan incluso si el contenedor se elimina.
  • Compartición de datos: Varios contenedores pueden compartir el mismo volumen para acceder a los datos.
  • Rendimiento: Puede proporcionar un mejor rendimiento de E/S que los montajes de enlace.
  • Portabilidad: Los volúmenes no se incluyen en el Dockerfile, lo que permite que las imágenes se mantengan más ligeras.
  • Copia de seguridad/Restauración: Los volúmenes se pueden respaldar y restaurar fácilmente.

Comandos clave de Docker Volume

Exploremos varios comandos para gestionar de manera eficiente los volúmenes de Docker. Intente combinar cada opción para crear, inspeccionar, eliminar y conectar volúmenes a los contenedores.

1. Creación y listado de volúmenes

2. Eliminación de volúmenes

3. Conexión de un volumen a un contenedor

Comando generado:

Combina los comandos.

Descripción:

`docker volume` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Tipos de volúmenes

En Docker, hay dos tipos principales de montajes para conectar datos a los contenedores: Volúmenes (Volumes) y montajes de enlace (Bind mounts). Cada uno tiene diferentes casos de uso y características.

1. Volúmenes (Volumes)

Este es el método más preferido para almacenar datos de forma persistente en Docker. Se almacena en un área específica del sistema de archivos del host gestionada por Docker.

  • Creación y gestión: Se crean y gestionan a través de la CLI de Docker, usando los comandos `docker volume`.
  • Ubicación: Se almacenan en la ruta `/var/lib/docker/volumes/` del host. No se recomienda que los usuarios accedan directamente a esta ruta interna.
  • Características: Son independientes del ciclo de vida del contenedor y pueden ser compartidos entre varios contenedores. Ofrecen ventajas de rendimiento, especialmente en Docker Desktop.

2. Montajes de enlace (Bind mounts)

Cualquier lugar en el sistema de archivos del host puede montarse dentro de un contenedor. Esto es útil para acceder directamente a la estructura del sistema de archivos del host.

  • Creación y gestión: Dependen directamente del sistema de archivos del host y no son gestionados explícitamente por Docker.
  • Ubicación: Cualquier directorio o archivo en el sistema de archivos del host puede ser montado en un contenedor.
  • Características: Son principalmente útiles en entornos de desarrollo para montar código fuente en un contenedor y reflejar los cambios en tiempo real, o cuando un contenedor necesita usar un archivo de configuración específico del host.

Ejemplos de uso

Comprenda cómo gestionar la persistencia de datos explorando varios escenarios en los que los comandos de volúmenes de Docker se aplican de forma práctica.

Crear y usar un volumen con nombre

docker volume create my_db_data
docker run -d --name my-mysql --mount source=my_db_data,target=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mysecretpassword mysql:latest

Crea un volumen llamado 'my_db_data' y lo monta en la ruta de almacenamiento de datos de un contenedor MySQL. Los datos de la base de datos se conservarán incluso si el contenedor se elimina.

Montaje de enlace de un directorio del host

docker run -d --name my-nginx-dev -p 80:80 --mount type=bind,source=/path/to/my/app,target=/usr/share/nginx/html nginx:latest

Monta el directorio actual del host (`/path/to/my/app`) en el directorio de servicio web de un contenedor Nginx (`/usr/share/nginx/html`), para que los cambios realizados en los archivos del host se reflejen inmediatamente en el contenedor.

Eliminar todos los volúmenes no utilizados

docker volume prune

Libera espacio en disco eliminando todos los volúmenes de Docker que no están conectados a ningún contenedor. Se mostrará un mensaje de confirmación.

Forzar la eliminación de un volumen específico (Advertencia)

docker volume rm -f old_volume

Elimina a la fuerza un volumen llamado 'old_volume', ya sea que esté en uso o no. Debe usarse con extrema precaución, ya que puede provocar la pérdida de datos.


Comandos de la misma categoría