Skip to main content

Docker: Creación de imágenes Docker

Para la realización de este taller es necesario tener una cuenta en Docker Hub.

Creación de una imagen a partir de un Dockerfile​

1.- Crea una página web estática (por ejemplo busca una plantilla HTML5). O simplemente crea un index.html.

<!DOCTYPE html>
<html>
<head>
<title>DOCKER</title>
</head>
<body>
<h1>CREACION DE IMAGENES DOCKER</h1>
<p>Docker es un proyecto de codigo abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstraccion y automatizacion de virtualizacion de aplicaciones en multiples sistemas operativos.​</p>
<img src="https://cataas.com/cat">
</body>
</html>

2.- Crea un fichero Dockerfile que permita crear una imagen con un servidor web sirviendo la página. Puedes usar una imagen base debian o ubuntu, o una imagen que tenga ya un servicio web, como hemos visto en el apartado Ejemplo 1: Construcción de imágenes con una página estática.

Creamos un directorio para guardar los ficheros de la práctica y creamos el fichero index.html:

mkdir mi_servidor_web
cd mi_servidor_web
touch index.html

Creamos el fichero Dockerfile:

touch Dockerfile
FROM debian
MAINTAINER Belen Nazareth Duran "belennazareth29@gmail.com"
RUN apt-get update && apt-get -y install apache2
COPY index.html /var/www/html/index.html
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

3.- Ejecuta el comando docker que crea la nueva imagen. La imagen se debe llamar /mi_servidor_web:v1.

docker build -t mi_servidor_web:v1 .

DOCKER

Comprobamos que se ha creado la imagen:

docker images

DOCKER

Para borrar la imagen:

docker rmi <id_imagen>

Creamos un contenedor a partir de la imagen:

docker run -d -p 8080:80 --name mi_servidor_web mi_servidor_web:v1

Para borrar el contenedor:

docker rm -f mi_servidor_web

DOCKER

4.- Conéctate a Docker Hub y sube la imagen que acabas de crear.

Nos conectamos:

docker login

Preparamos la imagen para subirla:

docker tag mi_servidor_web:v1 belennazareth/mi_servidor_web:v1

Subimos la imagen:

docker push belennazareth/mi_servidor_web

DOCKER

5.- Descarga la imagen en otro ordenador donde tengas docker instalado, y crea un contenedor a partir de ella. (Si no tienes otro ordenador con docker instalado, borra la imagen en tu ordenador y bájala de Docker Hub).

Para descargar la imagen:

docker pull belennazareth/mi_servidor_web

Para crear el contenedor:

docker run -d -p 8080:80 --name mi_servidor_web belennazareth/mi_servidor_web:v1

6.- Vamos a hacer una modificación de la página web: haz una modificación al fichero index.html.

Modificamos el fichero index.html:

<!DOCTYPE html>
<html>
<head>
<title>DOCKER</title>
</head>
<body>
<h1>CREACION DE IMAGENES DOCKER</h1>
<p>Docker es un proyecto de codigo abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstraccion y automatizacion de virtualizacion de aplicaciones en multiples sistemas operativos.​</p>
<img src="https://cataas.com/cat">

<p>Modificación de la página web</p>
<img src="https://cataas.com/cat/says/MODIFICACION">
</body>
</html>

7.- Vuelve a crear una nueva imagen, en esta caso pon la etiqueta v2. Súbela a Docker Hub.

Volvemos a crear la imagen:

docker build -t mi_servidor_web:v2 .

DOCKER

De nuevo, preparamos la imagen para subirla:

docker tag mi_servidor_web:v2 belennazareth/mi_servidor_web:v2

Subimos la imagen:

docker push belennazareth/mi_servidor_web:v2

DOCKER

8.- Por último, baja la nueva imagen en el ordenador donde está corriendo el contenedor. Para hacer la implantación de la nueva versión debes borrar el contenedor y crear uno nuevo desde la nueva versión de la imagen.

Borramos el contenedor:

docker rm -f mi_servidor_web

Creamos el contenedor desde la nueva versión de la imagen:

docker run -d -p 8080:80 --name mi_servidor_web belennazareth/mi_servidor_web:v2

DOCKER

Entrega​

1. Pantallazo donde se vea el contenido del fichero Dockerfile.​

DOCKER

2. Pantallazo donde se vea el comando que crea la nueva imagen.​

DOCKER

3. Pantallazo donde se vea el acceso a la página web primera versión.​

DOCKER

4. Pantallazo donde se vean las dos imágenes subidas a tu cuenta de Docker Hub.​

DOCKER

5. Pantallazo donde se vea el acceso a la página web segunda versión.​

DOCKER