Crear una imagen
Crear una imagen Docker a partir de un archivo Dockerfile
es un proceso sencillo que implica utilizar el comando docker build
. Aquí te explico los pasos detallados:
Pasos para Crear una Imagen desde un Dockerfile
- Crear el archivo Dockerfile:
- Primero, asegúrate de que el archivo
Dockerfile
esté en el directorio donde quieres construir la imagen. Este archivo debe contener todas las instrucciones necesarias para configurar el contenedor, como las mencionadas anteriormente. - Por ejemplo, puedes tener un
Dockerfile
como el siguiente:FROM ubuntu:20.04 RUN apt-get update && apt-get install -y nginx COPY index.html /var/www/html/index.html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
- Primero, asegúrate de que el archivo
- Abrir la terminal:
- Abre la terminal o línea de comandos en tu sistema operativo.
- Navegar al directorio del Dockerfile:
- Usa el comando
cd
para moverte al directorio donde se encuentra tu archivoDockerfile
.cd /ruta/a/tu/directorio
- Usa el comando
- Construir la imagen con el comando
docker build
:- Utiliza el comando
docker build
para construir la imagen. El formato básico es:docker build -t nombre_imagen:tag .
-t nombre_imagen:tag
: Aquí,nombre_imagen
es el nombre que quieres darle a la imagen, ytag
es opcional, pero recomendable para identificar diferentes versiones de la imagen. Si no proporcionas una etiqueta, Docker usarálatest
por defecto..
: El punto (.
) al final del comando indica que Docker debe buscar elDockerfile
en el directorio actual.- Ejemplo:
docker build -t mi_nginx:1.0 .
- Utiliza el comando
- Verificar la creación de la imagen:
- Una vez que la construcción de la imagen se complete, puedes verificar que la imagen ha sido creada correctamente usando el siguiente comando:
docker images
- Esto mostrará una lista de todas las imágenes locales en tu sistema, incluyendo la que acabas de crear. Deberías ver algo similar a esto:
REPOSITORY TAG IMAGE ID CREATED SIZE mi_nginx 1.0 7b341adb0bf1 X minutes ago 133MB
- Una vez que la construcción de la imagen se complete, puedes verificar que la imagen ha sido creada correctamente usando el siguiente comando:
- Ejecutar la imagen (opcional):
- Puedes ejecutar un contenedor basado en la imagen que acabas de crear usando el comando
docker run
:docker run -d -p 8080:80 mi_nginx:1.0
-d
: Inicia el contenedor en modo desapegado (background).-p 8080:80
: Mapea el puerto 80 del contenedor al puerto 8080 en el host. Ahora puedes acceder a la aplicación enhttp://localhost:8080
.mi_nginx:1.0
: Especifica la imagen que acabas de crear.
- Puedes ejecutar un contenedor basado en la imagen que acabas de crear usando el comando
- Inspeccionar el contenedor en ejecución:
- Puedes verificar que tu contenedor está en funcionamiento usando el comando
docker ps
:docker ps
- Esto te mostrará una lista de los contenedores en ejecución.
- Puedes verificar que tu contenedor está en funcionamiento usando el comando
Ejemplo Completo
Supongamos que quieres crear una imagen para un servidor Nginx que sirva una página HTML personalizada. Aquí tienes un resumen de los pasos:
- Crea un archivo
Dockerfile
:FROM nginx:alpine COPY index.html /usr/share/nginx/html/index.html EXPOSE 80
- Guarda un archivo
index.html
en el mismo directorio que elDockerfile
. - Abre la terminal, navega al directorio y ejecuta:
docker build -t mi_servidor_nginx:1.0 .
- Verifica la imagen:
docker images
- Ejecuta la imagen como un contenedor:
docker run -d -p 8080:80 mi_servidor_nginx:1.0
- Visita
http://localhost:8080
en tu navegador para ver tu página.
¡Y eso es todo! Ahora has creado y ejecutado una imagen Docker desde un archivo Dockerfile
.