gpt4 book ai didi

docker - 通过 API 调用为 DockerHub 存储库创建新的构建规则

转载 作者:行者123 更新时间:2023-12-02 17:54:58 31 4
gpt4 key购买 nike

我在 DockerHub 上有一个存储库,我已将其配置为直接与我的 GitHub 存储库连接,以便 git commit 将触发 Docker 镜像的构建。
我希望为我的产品构建多个 Docker 镜像(例如 v1v2 等)。
现在,我可以看到 DockerHub 为您提供了直接从门户配置“构建规则”的选项:
enter image description here
所以现在,当我对 /releases/v1/Dockerfile 进行更改时,构建将自动触发。
凉爽的。
然而,展望 future ,我希望发布 /releases/v2/Dockerfile到我的 GitHub 存储库,我想要 v2也可以自动构建,而无需我手动创建“构建规则”。有没有办法以编程方式创建“构建规则”?
我希望调用 DockerHub API 来创建构建规则。
我已经在这里阅读了 API 的文档
https://docs.docker.com/registry/spec/api/
但我找不到我想要的东西。
我想结束:
enter image description here
哪里v2以编程方式创建和 不是 从控制台。

最佳答案

Docker Hub 遵循 git 约定,您通常不会将不同版本的应用程序放在同一个 git commit 中。相反,您将为不同版本的代码使用单独的分支和标签。如果您遵循该 git 约定,那么您可以根据分支或标签上的正则表达式来标记生成的图像。例如。

  • 来源类型:Branch
  • 来源:/^v([0-9.]+)$/
  • Docker 标签:v{\1}

  • 然后你可以在一个名为 v1.1 的分支中构建(或任何其他版本号)并且 docker 镜像将被标记 v1.1 .只提取标签的第一个数字,看起来像:
  • 来源类型:Tag
  • 来源:/^v([0-9]+)[0-9.]*$/
  • Docker 标签:v{\1}

  • 这将转换带有版本号的标签,如 v10.1.2进入 v10 的 docker 标签(只有 . 之前的数字在正则表达式的第一部分匹配)。
    有关其构建规则的更多详细信息,请参阅:
    https://docs.docker.com/docker-hub/builds/#set-up-build-rules
    关于 API,虽然注册表本身有一个 documented API ,我不知道 Docker Hub 的管理界面有类似的 API。您可以尝试通过嗅探浏览器流量并将其复制到您的应用程序中来捕获调用,但 Docker 可以随时修改这些调用,因为它们不支持 API。

    关于docker - 通过 API 调用为 DockerHub 存储库创建新的构建规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63233341/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com