Avatar byandrev

byandrev

Publicar imágenes de Docker en Github Packages

3min de lectura

Paso a paso de como usar GitHub Packages con GitHub Container Registry (ghcr.io) para publicar imagenes de Docker en de forma gratuita.

Github Packages

Es un servicio que provee Github para gestionar paquetes, en palabras sencillas con esto podemos publicar librerías, frameworks, e imágenes de Docker. En especifico en este articulo se usara para publicar imágenes de Docker, esta es una alternativa a Docker Hub. Podemos ver esta sección en nuestro perfil en la pestaña de "Packages". Un concepto a tener en cuenta es el GitHub Container Registry (ghcr.io) el cual es parte de GitHub Packages para publicar las imágenes de Docker.

Autenticarse en Github

Debes tener una cuenta en Github y generar un token classic, esto dirigiéndote a Profile -> Settings -> Developer Settings -> Personal Access Tokens y escoger Tokens (classic). Ponle un nombre como "ghcr-login" y selecciona los scopes de read:packages, write:packages, delete:packages. Y guarda el token generado en algún lugar seguro.

Paso a paso para crear un token en Github

Login en ghrc.io

Abre una terminal y ejecuta el siguiente comando, debes tener Docker instalado:

docker login ghcr.io -u <your-github-username> --password <your-token>

Construye tu Imagen de Docker

Donde tengas tus Dockerfile ejecuta el siguiente comando para construir la imagen.

docker build . -t ghcr.io/<username>/<image-name>:latest

Publica la imagen en Github Packages

docker push ghcr.io/<username>/<image-name>:latest

Después de que se ejecute este comando podrás ir a la sección Packages en Github y veras tu imagen de Docker.

Screenshot de sección de Packages en Github

Sección Packages en Github

Recomendaciones


Avatar byandrev

Andres Parra

Soy Andrés Parra, Ingeniero de Sistemas. Me especializo en desarrollo web Full Stack y lidero el RPCIDE, un editor de código online para programación competitiva. Trabajo con tecnologías como React, Node.js, Python y bases de datos SQL/NoSQL. También soy entusiasta de competiciones de programación y proyectos de código abierto. Ver todos los posts

Comparte este artículo en