CodeGym /Cursos /Docker SELF /Creación y gestión de volúmenes

Creación y gestión de volúmenes

Docker SELF
Nivel 19 , Lección 1
Disponible

2.1 Comandos básicos de docker volume

Los volúmenes (volumes) en Docker aseguran el almacenamiento persistente de datos de los contenedores y permiten gestionar y aislar los datos fácilmente. El comando docker volume proporciona un conjunto de herramientas para crear, gestionar y eliminar volúmenes. En esta lección, veremos cómo usar el comando docker volume para gestionar volúmenes de manera eficiente en Docker.

Comandos básicos de docker volume:

  1. docker volume create
  2. docker volume ls
  3. docker volume inspect
  4. docker volume rm
  5. docker volume prune

2.2 Crear un volumen: docker volume create

El comando docker volume create se usa para crear un nuevo volumen. Por defecto, Docker crea el volumen en una ubicación estándar en el host, pero también puedes especificar diferentes parámetros para personalizar el volumen.

Un ejemplo simple de creación de un volumen

Este ejemplo creará un volumen llamado my_volume.

Terminal

docker volume create my_volume

Crear un volumen con configuraciones

Puedes especificar el driver y parámetros para crear un volumen con características específicas.

Terminal

docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt 
device=tmpfs my_custom_volume

Todos estos parámetros los veremos en detalle más adelante, por ahora no les prestes mucha atención.

2.3 Lista de volúmenes: docker volume ls

El comando docker volume ls muestra la lista de todos los volúmenes creados en el host.

Terminal

docker volume ls

La salida contendrá información sobre todos los volúmenes existentes:

Terminal

DRIVER    VOLUME NAME
local     my_volume
local     my_custom_volume

2.4 Información del volumen: docker volume inspect

El comando docker volume inspect proporciona información detallada sobre un volumen específico, incluyendo su ubicación, parámetros y uso.

Terminal

docker volume inspect my_volume

La salida del comando mostrará información en formato JSON:

JSON

[
    {
        "CreatedAt": "2023-07-26T12:34:56Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
        "Name": "my_volume",
        "Options": {},
        "Scope": "local"
    }
]

2.5 Eliminación de un volumen: docker volume rm

El comando docker volume rm se usa para eliminar un volumen. Es importante asegurarse de que el volumen no está siendo usado por contenedores antes de eliminarlo.

Eliminación de un volumen

Si el volumen está en uso, Docker dará un error indicando que no se puede eliminar el volumen.

Terminal

docker volume rm my_volume

Limpieza de volúmenes no utilizados: docker volume prune

El comando docker volume prune elimina todos los volúmenes no utilizados, ayudando a liberar espacio en el disco.

Limpieza de volúmenes no utilizados

Después de ejecutar el comando, Docker pedirá confirmación antes de eliminar todos los volúmenes no utilizados.

Terminal

docker volume prune

2.6 Ejemplos de uso práctico de comandos

Ejemplo 1: Crear y usar un volumen en un contenedor

Crear un volumen:

Terminal

docker volume create app_data

Iniciar un contenedor usando un volumen:

Terminal

docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx

En este ejemplo, el volumen app_data se monta en el directorio /usr/share/nginx/html del contenedor nginx.

Ejemplo 2: Obtener información sobre un volumen

Crear un volumen:

Terminal

docker volume create logs_data

Iniciar un contenedor usando un volumen:

Terminal

docker run -d --name log_app -v logs_data:/var/log/app busybox

Ver información del volumen:

Terminal

docker volume inspect logs_data

Ejemplo 3: Eliminar y limpiar volúmenes

Crear y usar un volumen:

Terminal

docker volume create temp_data

docker run -d --name temp_app -v temp_data:/tmp busybox

Detener y eliminar un contenedor:

Terminal

docker stop temp_app

docker rm temp_app

Eliminar un volumen:

Terminal

docker volume rm temp_data

Limpiar todos los volúmenes no utilizados:

Terminal

docker volume prune
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION