Para los que empiezan: crear y ejecutar una imagen propia en un contenedor Docker (2/2)

Continuando con el post Para los que empiezan: crear y ejecutar una imagen propia en un contenedor Docker (1/2), en la que os conté cómo crear un Dockerfile en base a una imagen que nos proporciona Docker, os voy a contar cómo construir una nueva imagen partiendo de ese dockerfile y cómo ejecutarla.
Así que comenzamos.

Construir una imagen a partir de nuestro Dockerfile

En primer lugar vamos a asegurarnos de que el Dockerfile está en el directorio actual escribiendo $cat Dockerfile.
Imagen 3
Ahora vamos a construir nuestra nueva imagen escribiendo el comando $docker build –t docker-whale . en el terminal (¡¡no olvides el punto!!)
Captura de pantalla 2015-10-11 a las 9.51.42
Captura de pantalla 2015-10-11 a las 9.52.03
Este comando tarda varios segundos en ejecutarse y finalmente reporta sus resultados. Como se puede observar en la imagen anterior, analiza los tres pasos que había en el Dockerfile (step 0, step 1, step2) y finalmente podemos ver como se ha construido satisfactoriamente.
El comando $docker build –t docker-whale . coge el archivo Dockerfile del directorio actual, y construye una imagen llamada docker-whale en local. El comando tarda alrededor de un minuto en terminar su ejecución y reporta los resultados.
En la siguiente imagen podemos ver una breve explicación de cada una de las partes de este comando:
Captura de pantalla 2015-10-30 a las 13.54.51

A continuación, vamos a analizar el resultado de este comando para comprender su comportamiento.
Primero Docker se asegura de que tiene todo lo que necesita para construir. Es el mensaje:
Captura de pantalla 2015-10-11 a las 10.41.10
Una vez comprobado, Docker carga la imagen Whalesay (ya que nuestra imagen se basa en esta imagen de Docker, se puede ver en la siguiente imagen). Ya tenemos la imagen en local de un al ejecutarla al principio de la parte 1 del post, por lo que Docker no necesita descargarlo.
Captura de pantalla 2015-10-11 a las 10.43.06
El siguiente paso que hace Docker es actualizar el gestor de paquetes apt-get. El mensaje que saca por terminal contiene una gran cantidad de líneas, pero no es necesario mencionarlas todas aquí. No obstante, empieza cuando pone “Step 1…”.
Captura de pantalla 2015-10-11 a las 10.56.18
Seguidamente, Docker instala el software “fortunes”.
Captura de pantalla 2015-10-11 a las 11.11.02
Por último, Docker termina la construcción y reporta sus resultados pudiendo ver que ha construido nuestra imagen satisfactoriamente.
Captura de pantalla 2015-10-11 a las 11.13.42

Ejecutar tu nuevo docker-whale

En este paso, vamos a comprobar que nuestra nueva imagen esté en el equipo y luego vamos a ejecutarla.
Para comprobar que nuestra imagen está en el equipo ejecutamos $docker images, podemos observar cómo esta nueva imagen la tenemos en local ya.
Captura de pantalla 2015-10-11 a las 10.36.22
Una vez hemos comprobado que tenemos nuestra nueva imagen en local, vamos a ejecutarla. Para ello escribimos en el terminal $docker run docker-whale.
Captura de pantalla 2015-10-11 a las 11.28.53
Como se puede ver en la imagen anterior, tenemos una ballena mucho más inteligente. Nos muestra dichos, y como comenté anteriormente, la línea de comando para ejecutar la imagen es mucho más corta. También se puede observar que Docker no ha tenido que descargar nada, y esto es porque la imagen se construyó a nivel local y ya está disponible sin descargarla.
Y hasta aquí el post. Con esta serie de dos post, hemos aprendido a construir una imagen y ejecutarla en un contenedor y para ello hemos usado Linux desde el Mac.
Quizá más adelante siga escribiendo sobre Docker, ya que tiene muchas más cosas de las que yo os he contado aquí.
 
 
 

4 comentarios en “Para los que empiezan: crear y ejecutar una imagen propia en un contenedor Docker (2/2)”

  1. Hola, me gustaron muchos tus post parate 1 y 2
    Solo para resaltar: es importante no copiar y pegar las instrucciones desde aquí, porque si no, no funciona.
    y en efecto la línea 1 del archivo build es con d minúscula: FROM: docker/whalesay:latest

  2. Muchas gracias por los tutoriales estoy empezando con esto y poco a poco voy entendiendo.
    Una duda que tengo cuando ejecuto docker run docker-whale me funciona, pero cada vez me crea un nuevo container, he intentado usar docker start y me lo ejecuta ya que en la lista ps -a aparece que se ha parado hace 1 sg, pero no veo nada por pantalla, que hay que hacer para ver de nuevo la imaen con la frase?
    Gracias

Deja un comentario

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

Share This
Ir arriba