Cuando trabaja en una arquitectura de microservicios con Docker Containers, crea varios Docker Containers para crear y probar diferentes componentes de su aplicación. Ahora, algunos de esos componentes pueden requerir compartir archivos y directorios. Si copia los mismos archivos en todos los Contenedores por separado, podría provocar un aumento innecesario en el tamaño de la Imagen y, además, cambiar un archivo en un Contenedor no creará el cambio correspondiente en el mismo archivo en otros Contenedores.
Por lo tanto, necesitaba un directorio o volumen compartido que pueda montar en varios contenedores Docker y todos ellos tienen acceso compartido a un archivo o directorio en particular. Docker le permite montar volúmenes compartidos en varios contenedores. En este artículo, montaremos un volumen en diferentes Contenedores y comprobaremos si los cambios en el archivo se comparten entre todos los Contenedores o no. Siga los pasos a continuación para montar un volumen dentro de Docker Container:
Paso 1: mostrar todos los volúmenes de Docker existentes
Para mostrar todos los volúmenes de Docker existentes, puede usar el comando de lista de la siguiente manera.
sudo docker volume ls
Paso 2: crear un volumen
Para crear un nuevo volumen de Docker, puede usar el comando de creación de volumen.
sudo docker volume create geeksforgeeks
Paso 3: inspección de los volúmenes de Docker
Para obtener los detalles de los volúmenes que ha creado, puede usar el comando de inspección de volumen.
sudo docker volume inspect geeksforgeeks
Paso 4: Montaje de volúmenes de Docker
Después de crear el Volumen, el siguiente paso es montar el Volumen en Docker Containers. Crearemos un contenedor Docker con la imagen base de Ubuntu y montaremos el volumen geeksforgeeks en ese contenedor usando el indicador -v.
sudo docker run -it -v geeksforgeeks:/shared-volume --name my-container-01 ubuntu
El comando anterior monta el volumen geeksforgeeks en un directorio llamado volumen compartido dentro del contenedor Docker llamado my-container-01.
Paso 5: crea un archivo dentro del volumen de Docker
Dentro del bash del Contenedor, cree un nuevo archivo y agregue algo de contenido.
ls cd /shared-volume echo “GeeksforGeeks” > geeksforgeeks.txt ls exit
Paso 6: cree otro contenedor y monte el volumen
Cree otro Contenedor Docker llamado my-container-02 y monte el mismo Volumen Docker llamado geeksforgeeks dentro del Contenedor.
sudo docker run -it -v geeksforgeeks:/shared-volume --name my-container-02 ubuntu
Si va al directorio de volumen compartido y enumera los archivos, encontrará el archivo geeksforgeeks.txt que creó en el mismo volumen pero que montó anteriormente en my-container-01 y que también tiene el mismo contenido. Esto es así porque el volumen se comparte entre los dos Contenedores.
Para concluir, en este artículo analizamos cómo crear e inspeccionar un volumen y montarlo en varios contenedores Docker. Esto demuestra ser muy útil cuando desea acceso compartido a archivos y directorios entre varios contenedores Docker.