Nota: El Registro del paquete de GitHub se encuentra actualmente en beta para GitHub Enterprise Server 2.22. Para unirte al beta de tu instancia de GitHub Enterprise Server, utiliza el formato de registro.
Nota: Cuando instalas o publicas una imagen de docker, Registro del paquete de GitHub no es compatible con capas externas, tales como imágenes de Windows.
Acerca de la compatibilidad de Docker
Cuando instalas o publicas una imagen de Docker, el registro de Docker no es compatible actualmente con capas ajenas, tales como imágenes de Windows.
Antes de que puedas utilizar el registro de Docker en el Registro del paquete de GitHub, el administrador de sitio de tu instancia de GitHub Enterprise Server debe habilitar la compatibilidad de Docker y el aislamiento de subdominios para tu instancia. Para obtener más informacón, consulta la sección "Administrar GitHub Packages para tu empresa".
Autenticarte en Registro del paquete de GitHub
Necesitas de un token de acceso para publicar, instalar, y borrar paquetes en Registro del paquete de GitHub.
Puees utilizar un token de acceso personal (PAT) para autenticarte en el Registro del paquete de GitHub o en la API de GitHub. Cuando creas un token de acceso personal, puedes asignar al token diferentes ámbitos en función de tus necesidades. Para obtener más información sobre los alcances relacionados con los paquetes para un PAT, consulta la sección "Acerca de los permisos para los Paquetes de GitHub".
Para autenticarte en un registro del Registro del paquete de GitHub dentro de un flujo de trabajo de GitHub Actions, puedes utilizar:
GITHUB_TOKEN
para publicar los paquetes asociados con el repositorio del flujo de trabajo.- un PAT para instalar los paquetes asociados con otros repositorios privados (a los cuales no puede acceder el
GITHUB_TOKEN
).
Para obtener más información sobre el GITHUB_TOKEN
que se utiliza en los flujos de trabajo de GitHub Actions, consulta la sección "Autenticarse en un flujo de trabajo".
Autenticarte con un token de acceso personal
Debes utilizar un token de acceso personal con los alcances adecuados para publicar e instalar paquetes en Registro del paquete de GitHub. Para obtener más información, consulta "Acerca de Registro del paquete de GitHub".
Puedes autenticar a Registro del paquete de GitHub con Docker usando el comando de inicio de sesión Docker
.
Para mantener tus credenciales seguras, te recomendamos que guardes tu token de acceso personal en un archivo local de tu computadora y utilices el marcador --password-stdin
de Docker, el cual lee tu token desde un archivo local.
$ docker images
> REPOSITORY TAG IMAGE ID CREATED SIZE
> monalisa 1.0 c75bebcdd211 4 weeks ago 1.11MB
# Etiqueta la imagen con OWNER/REPO/IMAGE_NAME
$ docker tag c75bebcdd211 docker.pkg.github.com/octocat/octo-app/monalisa:1.0
# Sube la imagen a {% data variables.product.prodname_registry %}
$ docker push docker.pkg.github.com/octocat/octo-app/monalisa:1.0
Para utilizar este ejemplo de comando de ingreso, reemplaza USERNAME
con tu nombre de usuario de GitHub Enterprise Server, HOSTNAME
con la URL de tu instancia de GitHub Enterprise Server, y ~/TOKEN.txt
con la ruta de archivo de tu token de acceso personal para GitHub Enterprise Server.
Para obtener más información, consulta la sección "Inicio de sesión de Docker."
Publicar una imagen
Nota: El Registro de Docker del Registro del paquete de GitHub se suspenderá en un lanzamiento subsecuente de GitHub Enterprise Server por el Registro de contenedores, el cual ofrece compatibilidad de contenedores mejorada.
Nota: Los nombres de imagen deben utilizar letras en minúscula únicamente.
Registro del paquete de GitHub admite varias imágenes Docker de primer nivel por repositorio. Un repositorio puede tener cualquier cantidad de etiquetas de imagen. Puedes experimentar un servicio de menor calidad al publicar o instalar imágenes de Docker de más de 10 GB, las capas tienen un límite de 5 GB cada una. Para obtener más información, consulta "Etiqueta Docker" en la documentación de Docker.
Después de que publiques un paquete, puedes verlo en GitHub. Para obtener más información, consulta "Visualizar paquetes".
-
Determina el nombre y la ID de la imagen Docker utilizando
imágenes docker
.$ docker images > < > > REPOSITORY TAG IMAGE ID CREATED SIZE > IMAGE_NAME VERSION IMAGE_ID 4 weeks ago 1.11MB
-
Utilizando la ID de la imagen de Docker, etiqueta a la imagen de docker, reemplazando OWNER con el nombre de la cuenta de usuario u organización a la que pertenece el repositorio, REPOSITORY con el nombre del repositorio que contiene tu proyecto, IMAGE_NAME con el nombre del paquete o imagen, HOSTNAME con el nombre de host de tu instancia de GitHub Enterprise Server y VERSION con la versión del paquete y hora de compilción.
Puedes publicar una nueva imagen de Docker por primera vez y nombrarla
monalisa
..
-
Si aún no creas una imagen de docker para el paquete, crea la imagen, reemplazando OWNER con el nombre de la cuenta de organización o usuario a la que pertenece el repositorio, REPOSITORY con el nombre del repositorio que contiene tu proyecto, IMAGE_NAME con el nombre del paquete o imagen, VERSION con la versión de paquete al momento de la compilación,HOSTNAME con el nombre de host de tu instancia de GitHub Enterprise Server, y PATH a la imagen en caso de que no esté en el directorio de trabajo actual.
$ docker build -t docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH
-
Publicar la imagen para Registro del paquete de GitHub.
$ docker push docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION
Nota: Debes subir tu imagen usando
IMAGE_NAME: VERSION
y no utilizarIMAGE_NAME: SHA
.
Ejemplo de publicación de una imagen Docker
Puedes publicar la versión 1.0 de la imagen monalisa
en el repositorio octocat/octo-app
usando una ID de imagen.
$ docker images
> REPOSITORY TAG IMAGE ID CREATED SIZE
> monalisa 1.0 c75bebcdd211 4 weeks ago 1.11MB
# Tag the image with OWNER/REPO/IMAGE_NAME
$ docker tag c75bebcdd211 docker.HOSTNAME/octocat/octo-app/monalisa:1.0
# Push the image to Registro del paquete de GitHub
$ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0
Puedes publicar una nueva imagen de Docker por primera vez y nombrarla monalisa
.
# Build the image with docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION
# Assumes Dockerfile resides in the current working directory (.)
$ docker build -t docker.HOSTNAME/octocat/octo-app/monalisa:1.0 .
# Push the image to Registro del paquete de GitHub
$ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0
Descargar una imagen
Nota: El Registro de Docker del Registro del paquete de GitHub se suspenderá en un lanzamiento subsecuente de GitHub Enterprise Server por el Registro de contenedores, el cual ofrece compatibilidad de contenedores mejorada.
Puedes utilizar el comando docker pull
para instalar una imagen de docker desde el Registro del paquete de GitHub, reemplazando OWNER con el nombre de la cuenta de usuario u organización a la que pertenece el repositorio, REPOSITORY con el nombre de repositorio que contiene tu proyecto, IMAGE_NAME con el nombre del paquete o imagen, HOSTNAME con el nombre del host de tu instancia de GitHub Enterprise Server, y TAG_NAME con la etiqueta de la imagen que quieres instalar.
$ docker pull docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME
Nota: Debes extraer la imagen utilizando IMAGE_NAME:VERSION
y no así, utilizando IMAGE_NAME:SHA
.