Skip to main content

将仓库连接到包

您可以在 您的 GitHub Enterprise Server 实例 上将仓库连接到容器映像。

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

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

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

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

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

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

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

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

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

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

    组织登陆页面上的“包”选项卡

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

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

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

注意:Container registry 目前正在测试用于 GitHub Enterprise Server ,可能会有变化。

Both GitHub Packages and subdomain isolation must be enabled to use Container registry. For more information, see "Working with the Container registry."

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

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

    例如,如果您是用户 monalisa 并且拥有 my-repo,并且 您的 GitHub Enterprise Server 实例 主机名是 github.companyname.com,则可以将以下行添加到 Dockerfile 中:

    LABEL org.opencontainers.image.source=https://containers.github.companyname.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
    > containers.github.companyname.com/my-org/hello_docker         latest              38f737a91f39        47 hours ago        91.7MB
    > containers.github.companyname.com/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 containers.HOSTNAME/OWNER/NEW_IMAGE_NAME:TAG

    例如:

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

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

    $ docker push containers.HOSTNAME/OWNER/IMAGE-NAME:TAG

    例如:

    $ docker push containers.github.companyname.com/monalisa/hello_docker:latest