Quando você publica um pacote com escopo para uma conta pessoal ou uma organização, o pacote não é vinculado a um repositório por padrão. Se você conectar um pacote a um repositório, a página de aterrissagem do pacote mostrará informações e links do repositório, como o LEIAME. Você também pode fazer com que o pacote herde as permissões de acesso do repositório vinculado. Para obter mais informações, confira "Configurando o controle de acesso e visibilidade de um pacote".
Conectar um repositório a um pacote com escopo do usuário em GitHub
-
No GitHub, acesse a página principal da sua conta pessoal.
-
No canto superior direito do GitHub.com, clique na foto do seu perfil e em Seu perfil.
-
Na página do perfil, no cabeçalho, clique na guia Pacotes .
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Nas versões do pacote, clique em Conectar repositório.
-
Selecione um repositório e clique em Conectar repositório.
Conectar um repositório a um pacote com escopo da organização em GitHub
-
Em GitHub, acesse a página principal da sua organização.
-
No nome da sua organização, clique na guia Pacotes.
-
Procure e clique no nome do pacote que deseja gerenciar.
-
Nas versões do pacote, clique em Conectar repositório.
-
Selecione um repositório e clique em Conectar repositório.
Conectar um repositório a uma imagem de contêiner usando a linha de comando
Observação: se você publicar um pacote vinculado a um repositório, o pacote herdará automaticamente as permissões de acesso do repositório vinculado e os fluxos de trabalho do GitHub Actions no repositório vinculado obterão automaticamente acesso ao pacote, a menos que a sua organização tenha desabilitado a herança automática das permissões de acesso. Para obter mais informações, confira "Configurando o controle de acesso e visibilidade de um pacote".
-
Em seu Dockerfile, adicione esta linha, substituindo
OWNER
andREPO
pelos seus detalhes:LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO
Por exemplo, se você for o usuário
octocat
e o proprietário demy-repo
você adicionará a seguinte linha ao Dockerfile:LABEL org.opencontainers.image.source=https://github.com/octocat/my-repo
Para obter mais informações, confira "LABEL" na documentação oficial do Docker e "Chaves de Anotação Predefinidas" no repositório
opencontainers/image-spec
. -
Construa a sua imagem do contêiner. Este exemplo cria uma imagem do Dockerfile no diretório atual e atribui o nome
hello_docker
à imagem.$ docker build -t hello_docker .
-
Opcionalmente, examine os detalhes da imagem do Docker que você acabou de criar.
$ docker images > REPOSITORY TAG IMAGE ID CREATED SIZE > hello_docker latest 142e665b1faa 5 seconds ago 125MB > redis latest afb5e116cac0 3 months ago 111MB > alpine latest a6215f271958 5 months ago 5.29MB
-
Atribua um nome e destino de hospedagem à imagem do Docker.
$ docker tag IMAGE_NAME ghcr.io/NAMESPACE/NEW_IMAGE_NAME:TAG
Substitua
NAMESPACE
pelo nome da conta pessoal ou organização para a qual você deseja que o pacote tenha o escopo definido.Por exemplo:
$ docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest
-
Se você ainda não o fez, efetue a autenticação em Container registry. Para obter mais informações, confira "Trabalhando com o registro do Contêiner".
$ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin > Login Succeeded
-
Faça push da sua imagem de contêiner para o Container registry.
$ docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG
Por exemplo:
$ docker push ghcr.io/octocat/hello_docker:latest