使用 codeship 从 Github Conatiner Registry 使用 dockercfg 文件提取 docker 图像

Using codeship to pull docker images from Github Conatiner Registry using the dockercfg file

如果之前有人问过这个问题,我深表歉意。 我一直在浏览 codeship 的文档,看看在自动化构建过程时是否可以从私有 github 容器注册表 (GHCR) 中提取 docker 的图像。 该文档指定了 docker 个注册表,但没有指定 GHCR。 有没有人使用 Codeship 从 GHCR 中提取 docker 图像? 该文档指出,使用图像注册表进行身份验证的最常见方式是通过加密的 dockercfg 文件提供您的帐户凭据。示例如下:

{
    "auths": {
        "https://index.docker.io/v1/": {
            "auth": "your_auth_string",
            "email": "your_email"
        }
    }
}

稍后将按照文档中的说明对该文件进行加密,该文档可以找到 here

我想知道是否有人将此用于 GHCR,如果他们有我的问题是是否可以简单地将 URL 替换为 GHCR URL 并将其传递给电子邮件和个人访问权限用于访问 GHCR 中的包或图像的令牌?

因此,在使用 Codeship 开了一张票并向他们解释了我想做的事情后,我得到了以下信息:

“我不认为我们不正式支持 GitHub Container Registry;但是,请与团队核实一下。如果它以类似的方式运行,您可能可以让它工作作为 documentation."

中列出的注册表

然后我尝试了它,它按预期工作。我后来也收到一封电子邮件说 “工程团队确认此方法应该适合您。我们将尽快更新文档并提供适当的指南”。

在我的例子中,我必须创建一个 credentials.env 文件,添加存储库凭据和 GHCR url 而不是问题中提到的方法来生成 dockercfg 文件,因为我是在Mac OS 因为 Docker 的较新版本已更改为将凭据存储在 macOS 钥匙串中而不是配置文件中。可以找到说明 here

我希望这对将来遇到此问题的人有用,直到他们更新了文档,但截至 2021 年 1 月 28 日,它尚未更新。