我们经常发布文档更新,此页面的翻译可能仍在进行中。有关最新信息,请访问英文文档。如果此页面上的翻译有问题,请告诉我们

配置 Docker 用于 GitHub Package Registry

您可以配置 Docker 客户端以使用 GitHub 包注册表 发布和检索 docker 镜像。

本文内容

向 GitHub 包注册表 验证

使用 docker 命令,您可以通过 GitHub 用户名和密码或 GitHub 用户名和具有 read:packageswrite:packages 作用域的个人访问令牌,向 GitHub 包注册表 验证。 对于私有仓库,您的个人访问令牌还必须具有 repo 作用域。

注:如果您启用了双重身份验证,则必须使用个人访问令牌而不是密码。 更多信息请参阅“创建用于命令行的个人访问令牌”。

$ docker login docker.pkg.github.com -u USERNAME -p PASSWORD/TOKEN

发布包

GitHub 包注册表 支持每个仓库的多个顶层 Docker 镜像。

  1. 使用 docker images 命令确定 docker 镜像的名称和 ID:
$ docker images
> < >
> REPOSITORY        TAG        IMAGE ID       CREATED      SIZE
> IMAGE_NAME        VERSION    IMAGE_ID       4 weeks ago  1.11MB
  1. 使用上一步中的 ID,标记 docker 镜像,标记内容包括要将其推送到的仓库的端点、镜像名称和版本。 由于不支持大写字母,因此,即使您的 GitHub 用户或组织名称中包含大写字母,也必须对仓库所有者使用小写字母。

    $ docker tag IMAGE_ID docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION
  2. 将镜像推送到 GitHub 包注册表:

    $ docker push docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION
  3. 您可以通过以下 URL 访问您的包(使用您的 GitHub 用户或组织名称替换 OWNER,使用您的仓库名称替换 REPOSITORY):

https://github.com/OWNER/REPOSITORY/packages

例如,要将名为 monalisa 的镜像的 1.0 版推送到 octocat/octo-app 仓库,则命令为:

$ docker images

> REPOSITORY           TAG      IMAGE ID      CREATED      SIZE
> monalisa             1.0      c75bebcdd211  4 weeks ago  1.11MB

# 用 OWNER/REPO/IMAGE_NAME 格式标记镜像
$ docker tag c75bebcdd211 docker.pkg.github.com/octocat/octo-app/monalisa:1.0

# 将镜像推送到 GitHub 包注册表

$ docker push docker.pkg.github.com/octocat/octo-app/monalisa:1.0

接收包注册表事件

在发布或更新包时,您可以接收 web 挂钩事件。更多信息请参阅“GitHub 开发者文档中的 RegistryPackageEvent”。

安装包

您可以使用含镜像的仓库和标记名称的 docker pull 命令从 GitHub 包注册表 安装 docker 镜像。 由于不支持大写字母,因此,即使您的 GitHub 用户或组织名称中包含大写字母,也必须对仓库所有者使用小写字母。

$ docker pull docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:TAG_NAME

删除包

为避免破坏可能依赖于包的项目,GitHub 包注册表 不支持删除包或删除包的版本。在特殊情况下,例如出于法律原因或为了符合 GDPR 标准,您可以通过 GitHub 支持 申请删除包。请使用我们的联系表 和主题行 "GitHub 包注册表" 联系 GitHub 支持。

问问别人

找不到要找的内容?

联系我们