Ejecución de contenedores en Docker: Optimización del despliegue

Ejecución de contenedores en Docker: Optimización del despliegue

¿En qué consiste el concepto de efímero en los contenedores Docker?

Los contenedores por naturaleza son efímeros, esto quiere decir que:

  • Arrancan
  • Realizan una tarea
  • Desaparecen

Sin embargo se requiere como parte de nuestras actividades poder extender la vida de ejecución del contenedor de forma determinar si la aplicación contenida dentro del contenedor funciona de forma correcta.

Para ello vamos a explorar el uso de una aplicación dentro de un contenedor Docker y como realizar la gestión de esta.

Comandos legacy

Hemos comentado que para listar las imágenes disponibles usamos docker images, sin embargo este es un comando que ha sido actualizado y la convención actual es:

docker image ls

También vimos que para listar ejecutar un contenedor con el ejemplo de la imagen hello-world usamos docker run hello-world, sin embargo la convención actual es:

docker container run hello-world

¿Cómo acceder al contenedor?

Primero requerimos listar las imágenes.

> docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              946a0547927b        3 minutes ago       198MB

Vamos a ejecutar el comando para entrar dentro del contenedor, especificando el valor que tenga IMAGE_ID.

docker container run -it --name python-container 946a0547927b

Al entrar al contenedor veremos algo similar a:

root@46c90d93ab24:/#

Parte de las instrucciones del Dockerfile son instalar python3, podemos comprobar que esto se ha llevado a cabo tecleando.

python3 --version