2.3 KiB
2.3 KiB
Configuración para Docker Hub y GitHub Actions
Este documento explica cómo configurar los secretos necesarios para publicar imágenes de Docker en Docker Hub usando GitHub Actions.
Requisitos previos
- Una cuenta en Docker Hub
- Un repositorio en Docker Hub donde subir la imagen
- Un token de acceso personal (PAT) de Docker Hub
Pasos para configurar los secretos en GitHub
-
Genera un token de acceso en Docker Hub
- Inicia sesión en Docker Hub
- Ve a tu perfil (esquina superior derecha) → Account Settings → Security
- Haz clic en "New Access Token"
- Proporciona una descripción como "GitHub Actions"
- Selecciona los permisos apropiados (normalmente "Read, Write, Delete")
- Haz clic en "Generate"
- IMPORTANTE: Copia el token generado, ya que no podrás verlo de nuevo
-
Configura los secretos en tu repositorio de GitHub
- Ve a tu repositorio en GitHub
- Haz clic en "Settings" → "Secrets and variables" → "Actions"
- Haz clic en "New repository secret"
- Añade los siguientes secretos:
- Nombre:
DOCKERHUB_USERNAMEValor: Tu nombre de usuario de Docker Hub - Nombre:
DOCKERHUB_TOKENValor: El token de acceso que generaste en el paso anterior
- Nombre:
Uso
Una vez configurados los secretos, los flujos de trabajo de GitHub Actions podrán autenticarse con Docker Hub y publicar imágenes.
Cuando crees una nueva release en GitHub, el flujo de trabajo docker-publish.yml se activará automáticamente y:
- Construirá la imagen de Docker
- La etiquetará con el número de versión de la release
- La subirá a Docker Hub
Verificación
Para verificar que la configuración está correcta:
- Crea una nueva release en GitHub
- Ve a la pestaña "Actions" y observa el progreso del flujo de trabajo
- Una vez completado, verifica que la imagen aparezca en tu repositorio de Docker Hub
Notas adicionales
- Para entornos de producción, considera usar un usuario de servicio en Docker Hub en lugar de tu cuenta personal
- Rota regularmente los tokens de acceso para mayor seguridad
- Considera agregar escaneo de vulnerabilidades en las imágenes como parte del flujo de trabajo