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.
Autenticar-se no GitHub Package Registry
Você precisa de um token de acesso para publicar, instalar e excluir pacotes no GitHub Package Registry.
You can use a personal access token (PAT) to authenticate to GitHub Package Registry or the GitHub API. Ao criar um token de acesso pessoal, você pode atribuir diferentes escopos de token, dependendo da sua necessidade. For more information about packages-related scopes for a PAT, see "About permissions for GitHub Packages."
To authenticate to a GitHub Package Registry registry within a GitHub Actions workflow, you can use:
GITHUB_TOKENto publish packages associated with the workflow repository.- a PAT to install packages associated with other private repositories (which
GITHUB_TOKENcan't access).
For more information about GITHUB_TOKEN used in GitHub Actions workflows, see "Authentication in a workflow."
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 https://docker.pkg.github.com -u USERNAME --password-stdin
Par usar este exemplo de comando de login, substitua USERNAME pelo seu nome de usuário de GitHub username e ~/TOKEN.txt pelo caminho do arquivo para oseu token de acesso pessoal para GitHub.
Para obter mais informações, consulte "Login do Docker".
Publicar uma imagem
Note: The GitHub Package Registry Docker registry is superseded by the Container registry, which offers improved container support. To learn how to migrate your existing Docker images and any workflows using them, see "Migrating to the Container registry from the Docker registry."
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 -
Using the Docker image ID, tag the docker image, replacing OWNER with the name of the user or organization account that owns the repository, REPOSITORY with the name of the repository containing your project, IMAGE_NAME with name of the package or image, and VERSION with package version at build time.
$ docker tag IMAGE_ID docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION -
If you haven't already built a docker image for the package, build the image, replacing OWNER with the name of the user or organization account that owns the repository, REPOSITORY with the name of the repository containing your project, IMAGE_NAME with name of the package or image, VERSION with package version at build time, and PATH to the image if it isn't in the current working directory.
$ docker build -t docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION PATH -
Publicar a imagem no GitHub Package Registry.
$ docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSIONObservação: Você deve enviar sua imagem usando
IMAGE_NAME:VERSIONe 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.pkg.github.com/octocat/octo-app/monalisa:1.0
# Push the image to GitHub Package Registry
$ docker push docker.pkg.github.com/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.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION
# Assumes Dockerfile resides in the current working directory (.)
$ docker build -t docker.pkg.github.com/octocat/octo-app/monalisa:1.0 .
$ docker build -t docker.pkg.github.com/octocat/octo-app/monalisa:1.0 .
# Faça push da imagem no GitHub Package Registry
$ docker push docker.pkg.github.com/octocat/octo-app/monalisa:1.0
Fazer o download de uma imagem
Note: The GitHub Package Registry Docker registry is superseded by the Container registry, which offers improved container support. To learn how to migrate your existing Docker images and any workflows using them, see "Migrating to the Container registry from the Docker registry."
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, e TAG_NAME pela tag para a imagem que você deseja instalar.
$ docker pull docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME
Nota: Você deve fazer pull da imagem usando IMAGE_NAME:VERSION e não usar IMAGE_NAME:SHA.