Estibador

Volúmenes, montaje y más de Docker

Volúmenes, montaje y más de Docker
En Docker, cada vez que crea un contenedor, hay un lugar específico donde se almacenarán los datos del contenedor. Si no proporciona ninguna ubicación para almacenar esos datos, se almacenarán en el contenedor. Cuando elimine el contenedor, los datos también se perderán. Sin embargo, al trabajar en proyectos empresariales, para evitar la pérdida de datos, puede eliminar un contenedor pero conservar los datos. Puede utilizar estos datos para crear más contenedores y compartir los datos entre estos contenedores. Aquí es donde entra en juego el volumen de Docker.

Características de los volúmenes de Docker

En este tutorial, explicaremos qué es un volumen Docker y cómo usarlo, así como cómo montar un volumen en Docker.

Requisitos

Sintaxis básica del volumen de Docker

Puede usar el comando "docker volume" para ver todas las opciones disponibles con volumen:

volumen de la ventana acoplable

Debería ver el siguiente resultado después de ingresar el comando anterior:

Uso: COMANDO de volumen de la ventana acoplable
Gestionar volúmenes
Comandos:
crear Crea un volumen
inspeccionar Muestra información detallada sobre uno o más volúmenes
ls Lista de volúmenes
podar Eliminar todos los volúmenes locales no utilizados
rm Eliminar uno o más volúmenes
Ejecute 'docker volume COMMAND --help' para obtener más información sobre un comando.

Crear un volumen

Para crear un volumen de datos, primero deberá crear un volumen de datos en el host de Docker y adjuntar el volumen al contenedor.

Puede crear un volumen de Docker con el comando "docker volume create.”Por ejemplo, use el siguiente comando para crear un nuevo volumen de Docker llamado myvolume:

docker volume crear myvolume

Debería ver el siguiente resultado:

mi volumen

Puede enumerar su volumen existente usando el siguiente comando:

docker volume ls

Debería ver el siguiente resultado:

NOMBRE DEL VOLUMEN DEL CONDUCTOR
local c2d2815ba1a75fbfe5d0a4b69d94269e55ccbc138c7d2e19504e501f1dbe634f
myvolume local

Si desea ver más información sobre el volumen, ejecute el siguiente comando:

Docker inspeccionar myvolume

Debería obtener el siguiente resultado después de ejecutar el comando anterior:

[

"CreatedAt": "2020-09-12T04: 51: 31Z",
"Driver": "local",
"Etiquetas": ,
"Punto de montaje": "/ var / lib / docker / volume / myvolume / _data",
"Nombre": "myvolume",
"Opciones": ,
"Alcance": "local"

]

Montar un volumen

En este punto, tiene un volumen llamado myvolume. En este ejemplo, creará un contenedor y montará un myvolume en el contenedor.

Puede usar la opción -mount para montar el volumen. La sintaxis básica para montar el volumen en el contenedor se muestra a continuación:

docker run --mount source = volume-name, destination = path-inside-container docker-images

Por ejemplo, para crear un contenedor de Ubuntu y montar myvolume en el contenedor, ejecute el siguiente comando:

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

Este comando extraerá la imagen de Ubuntu del Docker Hub, iniciará el contenedor en modo interactivo con el nombre volumecontainer y montará el contenedor myvolume en / data dentro del directorio / data:

No se puede encontrar la imagen 'ubuntu: último' localmente
último: Extrayendo de la biblioteca / ubuntu
54ee1f796a1e: Extracción completa
f7bfea53ad12: Extracción completa
46d371e02073: Tire completo
b66c17bbf772: Extracción completa
Resumen: sha256: 31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Estado: imagen más reciente descargada para ubuntu: última
root @ 06a477c4e444: / #

Puede verificar el volumen montado con el siguiente comando:

[correo electrónico protegido]: / # ls

Debería ver el directorio de datos en la siguiente salida:

bin boot data dev etc home lib lib32 lib64 libx32 media mnt
opt proc root ejecutar sbin srv sys tmp usr var

Ahora, crearemos un archivo de muestra llamado archivo.txt dentro del directorio / data con el siguiente comando:

echo "Este es un archivo de prueba!"> / datos / archivo.TXT

Salga del contenedor con el siguiente comando:

Salida

Inicie el mismo contenedor nuevamente con el siguiente comando:

Contenedor de volumen de inicio de contenedor Docker

A continuación, adjunte el contenedor en ejecución con el siguiente comando:

docker exec -it volumecontainer / bin / bash

Compruebe si su archivo.txt es persistente con lo siguiente:

cat datos / archivo.TXT

Debería obtener el siguiente resultado después de ingresar el comando anterior:

Este es un archivo de prueba!

Compartir datos entre contenedores

También puede compartir datos entre varios contenedores mediante el volumen de Docker.

Como saben, hemos creado un volumen llamado myvolume, un nuevo contenedor llamado volumecontainer usando este volumen. También hemos creado un archivo llamado archivo.txt dentro del volumen.

Ahora, crearemos otro contenedor llamado volumecontainer1 con el mismo volumen myvolume usando el siguiente comando:

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

Ejecute el comando ls, como se muestra a continuación:

ls

Debería ver el directorio de datos en la siguiente salida:

bin boot data dev etc home lib lib32 lib64 libx32
media mnt opt ​​proc root ejecutar sbin srv sys tmp usr var

Ejecute el siguiente comando para verificar el archivo.TXT:

cat / datos / archivo.TXT

Debería ver el mismo contenido que creó en el contenedor anterior:

Este es un archivo de prueba!

Montar directorio como un volumen

Puede usar el directorio ubicado dentro de su sistema host de Docker como un volumen y montarlo en el contenedor. También puede usar la opción -v para lograr lo mismo, como se muestra a continuación:

docker run -v "nombre_directorio": nombre_volumen docker_image

Cree un directorio llamado / data dentro del host de Docker con el siguiente comando:

mkdir / Datos

A continuación, cree algunos archivos dentro del directorio / Data:

cd / Datos
toque file1.txt file2.txt file3.TXT

Cree un nuevo contenedor usando el directorio / Data como un volumen con el siguiente comando:

docker run -it --name = data1 -v / Data: / Data ubuntu

Este comando creará un nuevo contenedor y montará el volumen con el nombre / Data.

Ejecute el siguiente comando para verificar el contenido del directorio / Data:

ls -l / Datos /

Debería ver todos los archivos que hemos creado previamente en el sistema host, como se muestra a continuación:

total 0
-rw-r - r-- 1 raíz raíz 0 12 de septiembre 05:41 archivo1.TXT
-rw-r - r-- 1 raíz raíz 0 12 de septiembre 05:41 archivo2.TXT
-rw-r - r-- 1 raíz raíz 0 12 de septiembre 05:41 archivo3.TXT

Eliminar el volumen de Docker

Puede eliminar o quitar fácilmente el volumen con la siguiente sintaxis:

docker volume rm nombre-volumen

Por ejemplo, para eliminar el volumen llamado myvolume, ejecute el siguiente comando:

docker volume rm myvolume

Debería obtener el siguiente error:

Respuesta de error del demonio: eliminar myvolume:
el volumen está en uso - [06a477c4e4444c0f815a1ec4a151a8
339bf53d5060c492af867bcaebe531dd5d, fd8d05a027a755f
1df004ccf62568b5d66989c2112115c8a652ddbc8eb960948]

Esto se debe a que el contenedor usa su volumen. Por lo tanto, deberá detenerse y quitar el recipiente antes de quitar el volumen.

Para detener y eliminar el contenedor, ejecute el siguiente comando:

Contenedor Docker Volumen de tope Volumen del contenedor Contenedor1
docker contenedor rm volumecontainer volumecontainer1

Ahora, puedes quitar fácilmente el volumen.

Conclusión

En la guía anterior, aprendió qué es el volumen de Docker, cómo crearlo y cómo montarlo dentro del contenedor. También aprendió a compartir datos entre varios contenedores usando el volumen.

5 mejores juegos de arcade para Linux
Hoy en día, las computadoras son máquinas serias que se usan para jugar. Si no puede obtener la nueva puntuación más alta, sabrá a qué me refiero. En ...
Batalla por Wesnoth 1.13.6 Desarrollo liberado
Batalla por Wesnoth 1.13.6 lanzado el mes pasado, es el sexto lanzamiento de desarrollo en el 1.13.x y ofrece una serie de mejoras, sobre todo en la i...
Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...