Creación de imágenes Docker con Actions
Automatice el proceso de creación de imágenes Docker para sus aplicaciones directamente en sus workflows de GitHub Actions.
Creación de imágenes Docker con Actions es una lección gratuita de CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CI/CD with GitHub Actions & DevOps Pipelines, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.
¿Qué son las imágenes de Docker?
¡Bienvenido! En esta lección, aprenderá a crear imágenes de Docker mediante GitHub Actions.
Primero, ¿qué es una imagen de Docker? Considérela como un paquete ligero, independiente y ejecutable que incluye todo lo necesario para ejecutar un componente de software:
- Su código
- Un entorno de ejecución (por ejemplo, Java o Python)
- Herramientas y bibliotecas del sistema
- Archivos de configuración
Es como un plano para crear contenedores de Docker, que garantiza que su aplicación se ejecute de forma coherente en distintos entornos.
¿Por qué automatizar las compilaciones de Docker?
Crear imágenes de Docker manualmente puede ser repetitivo y propenso a errores. ¡Aquí es donde la automatización resulta útil!
Al integrar la creación de imágenes de Docker en su pipeline de CI/CD con GitHub Actions, obtiene:
- Coherencia: cada compilación sigue los mismos pasos.
- Velocidad: las compilaciones automatizadas son más rápidas que las manuales.
- Fiabilidad: se reducen los errores humanos.
- Integración: las compilaciones se activan automáticamente cuando cambia el código.
¡Es una práctica fundamental del DevOps moderno!
El plano de Dockerfile
Un Dockerfile es un archivo de texto que contiene todos los comandos necesarios para ensamblar una imagen de Docker. Es como una receta.
A continuación se muestra un ejemplo muy sencillo de Dockerfile:
FROM alpine:latest
WORKDIR /app
COPY . .
CMD ["echo", "Hello from Docker!"]Comprender el Dockerfile
Analicemos ese Dockerfile sencillo:
FROM alpine:latest: especifica la imagen base. Comenzamos con una distribución de Linux pequeña llamada Alpine.WORKDIR /app: establece el directorio de trabajo dentro de la imagen.COPY . .: copia todos los archivos del directorio de su proyecto en el directorio/appdentro de la imagen.CMD ["echo", "Hello from Docker!"]: es el comando que se ejecutará cuando se inicie un contenedor a partir de esta imagen.
Este archivo se encuentra en la raíz de su proyecto.
Configuración del workflow
Para crear imágenes de Docker con GitHub Actions, creará un archivo YAML (por ejemplo, .github/workflows/docker-build.yml) en su repositorio.
Este archivo define su workflow, que es una serie de pasos automatizados.
Un workflow básico para crear una imagen suele incluir:
- Obtener el código.
- Configurar el entorno de compilación de Docker.
- Crear la imagen de Docker.
Paso 1: obtener el código
El primer paso de casi cualquier workflow de GitHub Actions consiste en obtener el código de su repositorio. Para ello se utiliza la acción actions/checkout.
Esta acción clona su repositorio en el runner, de modo que el Dockerfile y el código de su aplicación estén disponibles para el proceso de compilación.
Así se muestra en el archivo de su workflow:
- name: Checkout repository code
uses: actions/checkout@v4Paso 2: configurar Docker Buildx
A continuación, debemos configurar el entorno de compilación de Docker. Se recomienda especialmente utilizar docker/setup-buildx-action.
Buildx es un componente de Docker que amplía sus capacidades de compilación y admite funciones avanzadas, como las compilaciones para varias plataformas.
Añada este paso a su workflow:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3Paso 3: crear la imagen de Docker
Ahora llega la parte principal: ¡crear la imagen! Para ello utilizamos docker/build-push-action.
Estas son las opciones principales:
context: .: especifica el contexto de compilación (normalmente, la raíz de su repositorio).push: false: por ahora, solo crearemos la imagen sin enviarla a un registro. Veremos cómo enviarla en una lección posterior.tags: my-app:latest: asigna un nombre y una etiqueta a su imagen.
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestEjemplo de workflow completo de compilación
A continuación se muestra el workflow completo de GitHub Actions para crear una imagen de Docker. Recuerde que este YAML debe ir en .github/workflows/docker-build.yml.
Este workflow se activará cada vez que se haga push a su repositorio.
name: Build Simple Docker Image
on: [push]
jobs:
build-image:
runs-on: ubuntu-latest
steps:
- name: Checkout repository code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and tag Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: my-app:latestComprobación rápida
Comprobemos cuánto ha comprendido sobre la creación de imágenes de Docker con GitHub Actions.
Repaso: creación de imágenes de Docker
¡Buen trabajo! Ha aprendido los fundamentos de la automatización de la creación de imágenes de Docker con GitHub Actions.
Hemos visto:
- Qué son las imágenes de Docker y por qué son fundamentales.
- El papel de un
Dockerfilecomo plano de la imagen. - La configuración de un workflow básico de GitHub Actions.
- El uso de acciones esenciales como
actions/checkout,docker/setup-buildx-actionydocker/build-push-action.
En la próxima lección, veremos cómo enviar estas imágenes creadas a un registro de contenedores.
Preguntas frecuentes
¿La lección «Creación de imágenes Docker con Actions» es gratis?
Sí — el texto completo de «Creación de imágenes Docker con Actions» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CI/CD with GitHub Actions & DevOps Pipelines, actualiza a CoddyKit PRO. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.
¿Qué aprenderé en «Creación de imágenes Docker con Actions»?
Automatice el proceso de creación de imágenes Docker para sus aplicaciones directamente en sus workflows de GitHub Actions. Practicas CI/CD with GitHub Actions & DevOps Pipelines con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar CI/CD with GitHub Actions & DevOps Pipelines?
No se requiere experiencia previa. CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Creación de imágenes Docker con Actions»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de CI/CD with GitHub Actions & DevOps Pipelines?
Sí. Cada lección de CI/CD with GitHub Actions & DevOps Pipelines incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Creación de imágenes Docker con Actions
- Publicación de imágenes en registros
- Despliegue en Kubernetes con Actions
- Charts de Helm y manifiestos de Kubernetes en CI/CD