Trabajar con contenedores Docker

0 acciones
0
0
0
0

Introducción

Docker es una herramienta popular de contenedorización que proporciona a las aplicaciones de software un sistema de archivos que contiene todo lo necesario para su ejecución. El uso de contenedores Docker garantiza que el software se comporte de la misma manera independientemente de su implementación, gracias a la consistencia absoluta de su entorno de ejecución. En este tutorial, ofreceremos una breve descripción general de la relación entre las imágenes y los contenedores Docker. A continuación, analizaremos con más detalle cómo ejecutar, iniciar, detener y eliminar contenedores.

Descripción general

Podemos pensar en una imagen de Docker como una plantilla de hardware dedicada a crear contenedores Docker. Las imágenes suelen comenzar con un sistema de archivos raíz y añadir cambios en el sistema de archivos y sus correspondientes parámetros de ejecución en capas ordenadas de solo lectura. A diferencia de una distribución típica de Linux, una imagen de Docker suele contener solo el hardware necesario para ejecutar la aplicación. Las imágenes no tienen estado y no cambian. En cambio, constituyen el punto de partida para los contenedores Docker. Las imágenes se implementan con el comando docker run, que crea un contenedor añadiendo una capa de lectura y escritura sobre la imagen. Esta combinación de capas de solo lectura sobre dicha capa se conoce como sistema de archivos de unión. Cuando se realiza un cambio en un archivo de un contenedor en ejecución, este se copia del espacio de solo lectura a la capa de lectura y escritura, donde se aplican los cambios. La versión en la capa de lectura y escritura oculta el archivo original, pero no lo elimina. Los cambios en la capa de lectura y escritura solo existen en una instancia de contenedor independiente. Al eliminar un contenedor, se pierden los cambios a menos que se tomen medidas para conservarlos.

Cómo trabajar con contenedores Docker
  1. Crea dos contenedores Docker
  2. Reinicie el primer contenedor.
  3. Eliminar ambos contenedores.

Trabajar con contenedores

Cada vez que utilices el comando ejecución de Docker Al usarlo, se crea un nuevo contenedor a partir de la imagen especificada. Esto puede ser confuso, así que veamos algunos ejemplos:

Paso 1: Crea dos contenedores

Comando de ejecución estibador Lo siguiente crea un nuevo contenedor utilizando la imagen base de Ubuntu. -t Nos da una terminal y -i Nos permite interactuar con él. Seguimos el comando predeterminado en el archivo Docker de la imagen base de Ubuntu. intentoConfiamos en que nos dejará en un caparazón.

docker run -ti ubuntu

La línea de comando cambiará para mostrar que estamos dentro del contenedor como usuario root, seguido del ID del contenedor de 12 caracteres.

root@11cc47339ee1:/#

Hicimos un cambio con el reflejo de texto en la carpeta. /tmp Creamos un contenedor y luego lo usamos gato Lo usamos para confirmar que se guardó correctamente.

echo "Example1" > /tmp/Example1.txt
cat /tmp/Example1.txt
Output
Example1

Ahora salgamos del contenedor.

exit

Los contenedores Docker no se ejecutan en cuanto se completa el comando que emiten, por lo que nuestro contenedor se detuvo al salir del shell bash. Si el comando... PD. Si ejecutamos el comando para mostrar los contenedores en ejecución, no veremos nuestro comando.

docker ps
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Si la bandera -a Agregue el comando que muestra todos los contenedores, detenidos o en ejecución, y nuestro contenedor aparecerá en la lista:

docker ps -a
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
11cc47339ee1 ubuntu "/bin/bash" 6 minutes ago Exited (127) 8 seconds ago small_sinoussi

Al crear el contenedor, se le asignó un ID de contenedor y un nombre generado aleatoriamente. En este caso, 11cc47339ee1 Identificación del contenedor y pequeña_sinoussi Es un nombre generado aleatoriamente. ps -a Estos valores, así como la imagen desde la que se creó el contenedor (ubuntu), cuándo se creó (hace seis minutos) y el comando en el que se ejecutó (/bin/bash). La salida también muestra el estado del contenedor (Salido) y el tiempo que ha permanecido en ese estado (hace 6 segundos). Si el contenedor seguía ejecutándose, veríamos el estado "activo", seguido del tiempo que llevaba ejecutándose.

Si ejecutamos el mismo comando nuevamente, se creará un contenedor completamente nuevo:

docker run -ti ubuntu

Podemos saber que es un nuevo contenedor porque el identificador es diferente en la línea de comando y cuando buscamos nuestro archivo Example1, no lo encontramos:

cat /tmp/Example1
Output
cat: /tmp/Example1: No such file or directory

Puede parecer que los datos han desaparecido, pero no es así. Ahora, cerraremos el segundo contenedor para comprobar que tanto este como el primer contenedor con el archivo que creamos siguen en el sistema.

exit

Cuando volvemos a listar los contenedores aparecen ambos:

docker ps -a
Output
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6e4341887b69 ubuntu "/bin/bash" About a minute ago Exited (1) 6 seconds ago kickass_borg
11cc47339ee1 ubuntu "/bin/bash" 13 minutes ago Exited (127) 6 minutes ago small_sinoussi

Paso 2: Reiniciar el primer contenedor

Para reiniciar un contenedor existente, usamos el comando start con el indicador -a para conectarnos y el indicador -i para hacerlo interactivo, seguido del ID o nombre del contenedor. Asegúrate de sustituir el ID del contenedor en el siguiente comando:

docker start -ai 11cc47339ee1

Nos encontramos nuevamente en el indicador bash del contenedor y cuando accedemos al archivo que creamos anteriormente, todavía está allí.

cat /tmp/Example1.txt
Output
Example1

Ahora podemos salir del contenedor:

exit

Este resultado muestra que los cambios realizados dentro del contenedor persisten al detenerlo e iniciarlo. Solo al eliminar el contenedor se elimina el contenido. Este ejemplo también muestra que los cambios se limitaron al contenedor individual. Al iniciar el segundo contenedor, este reflejó el estado original de la imagen.

Paso 3: Eliminar ambos contenedores

Hemos creado dos contenedores y finalizaremos nuestro breve tutorial eliminándolos. El comando docker rm, que solo funciona con contenedores detenidos, permite especificar el nombre o el ID de uno o más contenedores, por lo que podemos eliminarlos con lo siguiente:

docker rm 11cc47339ee1 kickass_borg
Output
11cc47339ee1
kickass_borg

Tanto los contenedores como cualquier cambio que hayamos realizado en su interior ya no están.

Resultado

Echamos un vistazo de cerca a la receta. ejecución de Docker Hemos visto cómo crea automáticamente un nuevo contenedor cada vez que se ejecuta. También hemos visto cómo encontrar un contenedor detenido, iniciarlo y conectarse a él. Si quieres saber más sobre la gestión de contenedores, te puede interesar la Guía de nombres de contenedores de Docker: 3 consejos para principiantes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

También te puede gustar