GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

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

Los volúmenes de Docker son la forma preferida de manejar los datos persistentes creados y utilizados por los contenedores de Docker. Echemos un vistazo a cómo funciona esto cubriendo cómo crear volúmenes de Docker en Windows. ¡También aprenderá a administrarlos!

Esta publicación de blog tiene un video complementario creado por el colaborador de TechSnips, Matt McElreath. Siéntete libre de tener un reloj o, si prefieres enviar mensajes de texto, ¡sigue leyendo!

Almacenar datos persistentes

Si desea almacenar datos persistentes para contenedores, hay un par de opciones. Primero, te mostraré cómo usar un montaje de enlace . Actualmente estoy en una carpeta llamada datos en mi C:\ . Si enumero el contenido de esta carpeta, puede ver que tengo cinco archivos de texto.

Si quiero que esta carpeta esté disponible para un contenedor, puedo montarla al iniciar el contenedor.

Avancemos y ejecutemos un contenedor usando docker run . Voy a ejecutar este contenedor en modo interactivo, luego especificaré -V . Aquí, voy a colocar la ruta a mi carpeta de datos, seguida de dos puntos, luego especificaré la ruta dentro del contenedor donde me gustaría que se monte esta carpeta.

Para esto, voy a especificar el C:\shareddata carpeta. Luego, especificaré la imagen central del servidor de Windows y, finalmente, especificaré que quiero ejecutar PowerShell una vez que esté dentro del contenedor.

docker run -it -v c:\Data:c:\shareddata microsoft/windowsservercore powershell

Ahora que estoy dentro del nuevo contenedor, si enumero el contenido de C:\ , puedes ver que tengo un shareddata carpeta.

Vayamos a esa carpeta y enumeremos el contenido. Estos son mis cinco archivos de prueba que se encuentran en mi host contenedor.

También puedo crear archivos en esta carpeta, que estarán disponibles para otros contenedores o para el host de mi contenedor. Avancemos y ejecutemos un nuevo elemento para crear un archivo llamado containertest .

Podemos ver arriba que el nuevo archivo ha sido creado desde dentro del contenedor. Ahora saldré de este contenedor que lo cerrará ejecutando exit .

Si ejecuto docker ps , puede ver que actualmente no hay contenedores en ejecución.

Enumeración de datos en volúmenes de Docker

Ahora, enumeremos nuevamente el contenido de la carpeta de datos desde mi host contenedor.

Podemos ver el nuevo archivo que se creó desde dentro del contenedor llamado containertest . Sin embargo, los montajes de enlace tienen una funcionalidad limitada, por lo que los volúmenes son la forma preferida de lograr lo que estamos tratando de hacer. Para comenzar con los volúmenes, podemos ejecutar el mismo comando para iniciar un contenedor, pero esta vez con un par de pequeñas diferencias. Donde especificamos el volumen, en lugar de usar la ruta en el sistema de archivos de los hosts del contenedor, voy a usar la palabra hostdata como el nombre de un volumen que quiero crear y usar.

Desde dentro del nuevo contenedor, si enumero el contenido de C:\ , puede ver nuevamente que tengo una carpeta llamada shareddata .

Si enumero el contenido de esa carpeta, actualmente está vacía porque creamos un volumen en blanco. Ahora ejecutemos Ctrl-P-Q lo que nos sacará del contenedor en ejecución, pero lo mantendrá ejecutándose en segundo plano.

Desde el host del contenedor, ejecute docker volume ls . Esto mostrará una lista de los volúmenes actuales en este host de contenedor. Tengo un volumen llamado hostdata , que se creó cuando lo especifiqué en docker run comando.

Si ejecuto docker ps podemos ver nuestro contenedor en ejecución.

Detenga ese contenedor usando docker stop . Ahora no tenemos contenedores en funcionamiento.

Elimina los contenedores detenidos ejecutando docker rm . Si vuelvo a enumerar los volúmenes, puede ver que los hostdata el volumen todavía está disponible y se puede montar en contenedores nuevos.

Creación de volúmenes de Docker

Otra forma de crear un volumen es usar docker volume create dominio. Si no especifica un nombre, la ventana acoplable le dará un nombre que es una larga lista de caracteres aleatorios. De lo contrario, puede especificar un nombre aquí. Voy a llamar a este volumen logdata . Ahora podemos ver que está en la lista cuando enumeramos los volúmenes nuevamente.

Ahora lo montará en un nuevo contenedor. Usar docker run de nuevo y para el volumen, especifique el volumen que acaba de crear y móntelo en c:\logdata .

> docker run -it -v logdata:c:\logdata microsoft/windowsservercore powershell

Desde el interior del contenedor, acceda a los datos de registro carpeta y crear un par de archivos. En este momento, no hay archivos en este directorio, así que continúe y cree algunos.

PS> New-Item -Name Log1.txt -ItemType File
PS> New-Item -Name Log2.txt -ItemType File

Ahora tengo dos archivos de registro en este directorio.

Ejecute Ctrl-P-Q de nuevo para salir de este contenedor mientras aún se está ejecutando. Mientras se ejecuta ese contenedor, inicie un nuevo contenedor con el mismo volumen montado.

> docker run -it -v logdata:c:\logdata microsoft/windowsservercore powershell

Si ejecutamos una lista en los datos de registro carpeta en el nuevo contenedor podemos ver los dos archivos de registro que se comparten.

Ahora, salga de este contenedor. Todavía debería tener un contenedor en ejecución y dos contenedores cerrados.

Ahora detenga todos los contenedores en ejecución, luego ejecute docker rm para eliminar todos los contenedores que han salido.

Haz una lista de los volúmenes de nuevo. Los datos de registro el volumen todavía está disponible para ser montado en futuros contenedores.

Si ejecuta, ejecute docker volume , obtendrá ayuda sobre el uso del comando.

Inspección de volúmenes de Docker

Ya vimos create , así que pasemos a inspect . Si ejecuto docker volume inspect contra los datos de registro volumen, devolverá las propiedades de ese volumen, incluido el punto de montaje, que es la ruta física al volumen en el host del contenedor.

Abramos esa carpeta usando Invoke-Item y echa un vistazo. Debajo de los datos de registro carpeta, hay una carpeta llamada datos . Si abrimos eso, podemos ver los archivos que se crearon desde el contenedor anteriormente.

Eliminación de volúmenes de Docker

Para eliminar un volumen, podemos ejecutar docker volume rm , seguido del nombre del volumen que desea eliminar.

> docker volume rm logdata

Ahora, si enumero los volúmenes, logdata ya no está.

Finalmente, podemos usar prune para eliminar todos los volúmenes locales no utilizados. Esto eliminará todos los volúmenes que no estén montados en un contenedor en ejecución o detenido.

Debe tener cuidado con este comando, por lo que hay una advertencia y un aviso para asegurarse de que está seguro de que desea hacer esto. Si escribo Y y presione enter, me mostrará qué volúmenes se eliminaron.

Y si vuelvo a enumerar mis volúmenes, verá que se han eliminado todos.

Resumen

En esta publicación de blog, debería haber obtenido una buena descripción general de la administración de volúmenes de Docker en Windows. Docker es una gran plataforma de contenedores. Con su soporte para Windows y sus nuevas habilidades para administrar volúmenes de Docker, ¡será imparable!


Docker
  1. Cómo ejecutar MySQL en Docker Container:una guía simple y fácil de seguir

  2. Cómo crear, enumerar y eliminar contenedores Docker en Linux

  3. Cómo ejecutar MySQL en un contenedor Docker

  4. Cómo usar SSH en un contenedor Docker

  5. Cómo asignar una IP estática a un contenedor Docker

Cómo obtener la dirección IP de un contenedor Docker desde el host

Cómo verificar si el demonio Docker o un contenedor se está ejecutando

Cómo ejecutar PHPMyAdmin en un contenedor Docker

Cómo crear una imagen de Docker desde un contenedor en ejecución

Cómo crear un contenedor de aplicaciones Django Docker

Cómo crear una imagen de ventana de Docker con la etiqueta de compilación de Docker