3

每当我将新版本推送到我的私有注册表时,我想运行一个 docker watchtower 来自动升级我的 docker 容器。

但是,瞭望塔在我的私人注册表中找不到容器。

有谁知道如何使用私有 docker 注册表运行瞭望塔?

4

2 回答 2

5

守望台的维护者和开发者在这里。实际上,我们确实支持使用私有注册表。这是通过使用完全限定名称作为图像名称来完成的,即。example.com/my-org/my-image:my-tag,以及在瞭望塔容器根目录挂载 config.json。

请参阅文档,特别是https://containrrr.github.io/watchtower/usage-overview/

文档可能会更清晰,如果您对这项任务感到满意,请在完成工作后随时改进它们。

谢谢,西蒙

于 2019-08-07T11:21:06.737 回答
0

更新:虽然这种方法可能仍然有效,但瞭望塔对此提供了原生支持。


Watchtower 目前仅支持 Docker Hub 私有注册表,不支持 Quay 或 Gitlab 等非现场注册表。

另一种方法可能是使用webhook之类的东西,并从您使用的任何 CI/CD 平台向端点发送 HTTP 请求。

这样,您无需检查更新,而是可以在进行更改时 ping 端点并自动更新。它是推而不是拉,但它可以达到类似的效果。

运行 Web 服务器之类的示例脚本可能是:

#!/bin/bash
docker pull [your-registry][repo]:latest
docker stop [repo-name]
docker rm [repo-name]
docker run -d --name [repo-name] -p 80:4000 --restart always [your-registry][repo]:latest

这不是最巧妙的部署方法。您可能最好在生产中使用专门的 CI/CD 提供程序,它可以更好地协调构建、测试和部署管道。但这是生成登台服务器的一种快速而肮脏的方式。

于 2016-07-25T18:22:15.673 回答