发布范围限定为个人帐户或组织的包时,默认情况下,包不会链接到存储库。 若将包连接到存储库,包登陆页面将显示来自存储库的信息和链接,例如 README。 还可以选择让包从链接存储库继承其访问权限。 有关详细信息,请参阅“配置包的访问控制和可见性”。
在 GitHub
上将存储库连接到用户范围的包
-
在 GitHub 上,导航到个人帐户的主页面。
-
在 GitHub.com 的右上角,单击你的头像照片,然后单击“你的个人资料”。
-
在个人资料页面上的标题中,单击 “包”选项卡。
-
搜索要管理的包的名称,然后单击该名称。
-
在包版本下,单击“连接存储库”。
-
选择要链接到包的存储库,然后单击“连接存储库”。
在 GitHub
上将存储库连接到组织范围的包
-
在 GitHub 上,导航到组织的主页面。
-
在组织名称下,单击 “包”选项卡。
-
搜索要管理的包的名称,然后单击该名称。
-
在包版本下,单击“连接存储库”。
-
选择要链接到包的存储库,然后单击“连接存储库”。
使用命令行将仓库连接到容器映像
注意: 如果发布链接到存储库的包,该包会自动继承链接存储库的访问权限,链接存储库中的 GitHub Actions 工作流会自动获得对包的访问权限,除非你的组织已禁用访问权限的自动继承。 有关详细信息,请参阅“配置包的访问控制和可见性”。
-
在 Dockerfile 中,添加此行,将
OWNER
和REPO
替换为详细信息:LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO
例如,如果你是拥有
my-repo
的用户octocat
可将此行添加到 Dockerfile:LABEL org.opencontainers.image.source=https://github.com/octocat/my-repo
有关详细信息,请参阅 Docker 官方文档中的“标签”和
opencontainers/image-spec
存储库中的“预定义的注释键”。 -
构建容器映像。 此示例从当前目录中的 Dockerfile 生成映像,并分配映像名称
hello_docker
。docker build -t hello_docker .
-
(可选)查看刚刚创建的 Docker 映像的详细信息。
$ 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
-
为 Docker 映像分配名称和托管目标。
docker tag IMAGE_NAME ghcr.io/NAMESPACE/NEW_IMAGE_NAME:TAG
将
NAMESPACE
替换为你希望作为包限定范围的个人帐户或组织的名称。例如:
docker tag 38f737a91f39 ghcr.io/octocat/hello_docker:latest
-
如果尚未向 Container registry 验证,请验证。 有关详细信息,请参阅“使用容器注册表”。
$ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin > Login Succeeded
-
推送容器映像到 Container registry。
docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG
例如:
docker push ghcr.io/octocat/hello_docker:latest