将仓库连接到包

您可以在 GitHub 上将仓库连接到容器映像。

GitHub Packages 可用于 GitHub Free、GitHub Pro、组织的 GitHub Free、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server 和 GitHub AE。


GitHub Packages 不适用于使用旧版按仓库计划的帐户所拥有的私有仓库。 此外,使用旧版按仓库计划的帐户无法访问 Container registry,因为这些帐户是按仓库计费的。 更多信息请参阅“[GitHub 的产品](/articles/github-s-products)”。

通过将仓库连接到包,包登录页面将显示来自仓库的信息和链接,例如 README。

在 GitHub 上将仓库连接到用户拥有的包

  1. 在 GitHub 上,导航到用户帐户的主页面。

  2. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your profile(您的个人资料)个人资料照片

  3. 在个人资料页面的右上角,单击 Packages(包)个人资料页上的包选项

  4. 在包版本下,单击 Connect repository(连接仓库)包登录页上的连接仓库按钮

  5. 选择一个仓库,然后单击 Connect repository(连接仓库)仓库选择弹出窗口中的连接仓库按钮

在 GitHub 上将仓库连接到组织拥有的包

  1. 在 GitHub 上,导航到组织的主页面。

  2. 在组织名称下,单击 Packages(包)

    Packages tab on org landing page

  1. 在包版本下,单击 Connect repository(连接仓库)包登录页上的连接仓库按钮

  2. 选择一个仓库,然后单击 Connect repository(连接仓库)仓库选择弹出窗口中的连接仓库按钮

使用命令行将仓库连接到容器映像

  1. 在 Dockerfile 中添加此行,将 OWNERREPO 替换为您的详细信息:

    LABEL org.opencontainers.image.source=https://github.com/OWNER/REPO

    例如,如果您是用户 monalisa 并且拥有 my-repo,您会将此行添加到 Dockerfile:

    LABEL org.opencontainers.image.source=https://github.com/monalisa/my-repo

    更多信息请参阅官方 Docker 文档中的“LABEL”,以及 opencontainers/image-spec 仓库中的“预定义的标注键”。

  2. 构建容器映像。 此示例从当前目录的 Dockerfile 构建映像,并分配映像名称 hello_docker

    $ docker build -t hello_docker .
  3. (可选)查看您想要标记的 Docker 映像的详细信息。

    $ docker images
    > REPOSITORY                                            TAG                 IMAGE ID            CREATED             SIZE
    > ghcr.io/my-org/hello_docker         latest              38f737a91f39        47 hours ago        91.7MB
    > ghcr.io/my-username/hello_docker    latest              38f737a91f39        47 hours ago        91.7MB
    > hello-world                                           latest              fce289e99eb9        16 months ago       1.84kB
  4. 使用所需的映像名称和托管目标标记 Docker 映像。

    $ docker tag IMAGE_NAME ghcr.io/OWNER/NEW_IMAGE_NAME:TAG

    例如:

    $ docker tag 38f737a91f39 ghcr.io/monalisa/hello_docker:latest
  5. 如果尚未向 Container registry 验证,请验证。 更多信息请参阅“向 Container registry 验证”。

    $ echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
    > Login Succeeded
  6. 推送容器映像到 Container registry。

    $ docker push ghcr.io/OWNER/IMAGE-NAME:TAG

    例如:

    $ docker push ghcr.io/monalisa/hello_docker:latest

此文档对您有帮助吗?

隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。