Observação: GitHub Package Registry está atualmente em beta para GitHub Enterprise Server 2.22. Para participar da versão beta de sua instância do GitHub Enterprise Server, use o formulário de inscrição.
Note: When installing or publishing a docker image, GitHub Package Registry does not currently support foreign layers, such as Windows images.
Sobre o suporte ao Docker
Ao instalar ou publicar uma imagem do Docker, o registro do Docker atualmente não é compatível com camadas externas como, por exemplo, as imagens do Windows.
Antes de poder usar o registro do Docker no GitHub Package Registry, o administrador do site para sua instância do GitHub Enterprise Server deve habilitar o suporte do Docker e o isolamento do subdomínio para a sua instância. Para obter mais informações, consulte "Gerenciar pacotes do GitHub para a sua empresa".
Autenticar-se no GitHub Package Registry
Você precisa de um token de acesso para publicar, instalar e excluir pacotes no GitHub Package Registry.
Você pode usar um token de acesso pessoal (PAT) para efetuar a autenticação em GitHub Package Registry ou na API de GitHub Ao criar um token de acesso pessoal, você pode atribuir diferentes escopos de token, dependendo da sua necessidade. Para obter mais informações sobre os escopos dos pacotes para um PAT, consulte "Sobre permissões para o GitHub Packages."
Para efetuar a autenticação em um registro do GitHub Package Registry dentro de um fluxo de trabalho de GitHub Actions, você pode utilizar:
GITHUB_TOKEN
para publicar pacotes associados ao repositório do fluxo de trabalho.- um PAT para instalar pacotes associados a outros repositórios privados (que o
GITHUB_TOKEN
não consegue acessar).
Para obter mais informações sobre GITHUB_TOKEN
usado nos fluxos de trabalho de GitHub Actions, consulteAutenticação em um fluxo de trabalho".
Efetuando a autenticação com um token de acesso pessoal
Você deve usar um token de acesso pessoal com os escopos apropriados para publicar e instalar pacotes no GitHub Package Registry. Para obter mais informações, consulte "Sobre GitHub Package Registry."
Você pode efetuar a autenticação no GitHub Package Registry usando o comando de login do docker
.
Para manter suas credenciais seguras, recomendamos que você salve seu token de acesso pessoal em um arquivo local no seu computador e use o sinalizador --password-stdin
do Docker que lê o seu token a partir de um arquivo local.
$ cat ~/TOKEN.txt | docker login docker.HOSTNAME -u USERNAME --password-stdin
Para usar este exemplo de comando de login, substitua NOME DE USUÁRIO
pelo seu nome de usuário de GitHub Enterprise Server , NOME DE HOST
pela URL para sua instância do GitHub Enterprise Server, e ~/TOKEN. xt
pelo caminho do arquivo para o seu token de acesso pessoal para GitHub Enterprise Server.
Para obter mais informações, consulte "Login do Docker".
Publicar uma imagem
Observação: O GitHub Package Registry Registro do Docker será substituído no futuro GitHub Enterprise Server pelo Container registry, que oferece suporte melhorado para o contêiner.
Observação: Os nomes de imagem devem usar apenas letras minúsculas.
O GitHub Package Registry aceita várias imagens do Docker de nível superior por repositório. Um repositório pode ter qualquer número de tags de imagem. Você poderá conhecer uma publicação de serviço degradada ou instalar imagens do Docker com tamanho superior a 10 GB. As camadas são limitadas em 5 GB cada. Para obter mais informações, consulte "Tag do Docker" na documentação Docker.
Após publicar um pacote, você poderá visualizá-lo no GitHub. Para obter mais informações, consulte "Visualizar pacotes".
-
Determine o nome da imagem e o ID da sua imagem do docker usando
imagens do docker
.$ docker images > < > > REPOSITORY TAG IMAGE ID CREATED SIZE > IMAGE_NAME VERSION IMAGE_ID 4 weeks ago 1.11MB
-
Ao usar o ID de imagem Docker, marque a imagem do docker, substituindo OWNER pelo nome do usuário ou conta de organização proprietária do repositório, REPOSITORY pelo nome do repositório que contém o seu projeto, IMAGE_NAME pelo nome do pacote ou imagem, HOSTNAME pelo nome do host de sua instância do GitHub Enterprise Server e VERSION pela versão do pacote no momento da compilação.
$ docker tag IMAGE_ID docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION
-
Se você ainda não criou uma imagem d docker para o pacote, crie a imagem, substituindo OWNER pelo nome do usuário ou conta de organização proprietária do repositório, REPOSITÓRIO com o nome do repositório que contém o seu projeto, IMAGE_NAME com o nome do pacote ou imagem, VERSÃO com a versão do pacote na hora da compilação, HOSTNAME com o nome do host de sua instância do GitHub Enterprise Server, e PATH para a imagem se não estiver no diretório de trabalho atual.
$ docker build -t docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH
-
Publicar a imagem no GitHub Package Registry.
$ docker push docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:VERSION
Observação: Você deve enviar sua imagem usando
IMAGE_NAME:VERSION
e nãoIMAGE_NAME:SHA
.
Exemplo de publicação de uma imagem do Docker
Você pode publicar a versão 1.0 da imagem de monalisa
para o repositório octocat/octo-app
usando um ID de imagem.
$ 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 GitHub Package Registry
$ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0
Você pode publicar uma nova imagem do Docker pela primeira vez e nomeá-la como 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 GitHub Package Registry
$ docker push docker.HOSTNAME/octocat/octo-app/monalisa:1.0
Fazer o download de uma imagem
Observação: O GitHub Package Registry Registro do Docker será substituído no futuro GitHub Enterprise Server pelo Container registry, que oferece suporte melhorado para o contêiner.
Você pode usar o comando docker pull
para instalar uma imagem do docker a partir de GitHub Package Registry, substituindo OWNER pelo nome do usuário ou conta de organização proprietária do repositório, REPOSITÓRIO pelo nome do repositório que contém seu projeto, IMAGE_NAME pelo nome do pacote ou da imagem, HOSTNAME pelo nome do host sua instância do GitHub Enterprise Server, e TAG_NAME éla tag para a imagem que você deseja instalar.
$ docker pull docker.HOSTNAME/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME
Nota: Você deve fazer pull da imagem usando IMAGE_NAME:VERSION
e não usar IMAGE_NAME:SHA
.