使用 codeship 使用 dockercfg 文件从 Github Conatiner Registry 中拉取 docker 镜像

问题描述

之前有人问过这件事的歉意。 我一直在浏览 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 日,它还没有更新。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...