当您发布一个范围限定为个人帐户或组织的包时,该包默认情况下不会链接到任何仓库。如果您将包连接到仓库,包的登录页面将显示来自仓库的信息和链接,例如 README。您还可以选择让包从链接的仓库继承其访问权限。有关更多信息,请参阅“配置包的访问控制和可见性”。
将仓库连接到 GitHub 上的用户范围包
-
在 GitHub 上,导航到您的个人帐户主页。
-
在 GitHub 右上角,点击您的个人资料照片,然后点击**您的个人资料**。
-
在您的个人资料页面上的页眉中,点击 **包**选项卡。
-
搜索并点击您要管理的包的名称。
-
在您的包版本下,点击**连接仓库**。
-
选择一个仓库链接到包,然后点击**连接仓库**。
将仓库连接到 GitHub 上的组织范围包
-
在 GitHub 上,导航到您的组织主页。
-
在您的组织名称下,点击 **包**选项卡。
-
搜索并点击您要管理的包的名称。
-
在您的包版本下,点击**连接仓库**。
-
选择一个仓库链接到包,然后点击**连接仓库**。
使用命令行将仓库连接到容器镜像
**注意:**如果您发布与仓库链接的包,该包会自动继承链接仓库的访问权限,并且链接仓库中的 GitHub Actions 工作流会自动获得对该包的访问权限,除非您的组织已禁用自动继承访问权限。有关更多信息,请参阅“配置包的访问控制和可见性”。
-
在您的 Dockerfile 中,添加以下行,将
OWNER
和REPO
替换为您的详细信息LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO
例如,如果您是用户
octocat
并拥有my-repo
,您将在您的 Dockerfile 中添加以下行LABEL org.opencontainers.image.source=https://github.com/octocat/my-repo
有关更多信息,请参阅官方 Docker 文档中的“LABEL”和
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
-
如果您尚未认证到容器注册表,请进行认证。有关更多信息,请参阅“使用容器注册表”。
$ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin > Login Succeeded
-
将您的容器镜像推送到容器注册表。
docker push ghcr.io/NAMESPACE/IMAGE-NAME:TAG
例如
docker push ghcr.io/octocat/hello_docker:latest