问题标签 [docker-watchtower]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
148 浏览

docker - 当 Watchtower 更新 VPN Docker 容器时,它会破坏依赖它的容器

我有一个带有 Transmission-OpenVPN 容器的堆栈,它反过来可以让网络访问一堆其他容器。一切正常。最近我安装了 Watchtower,但我遇到的一个问题是,当 VPN 的映像更新并且其中一个依赖容器随后停止时,它无法自行重新启动 - 退出代码 128 - 原因是它似乎是试图引用旧 VPN 容器的网络。手动这就像将网络设置为依赖的 VPN 容器的新版本一样简单,或者只是重新启动整个堆栈。

但显然这违背了使用 Watchtower 自动更新的全部目的,并且将 VPN 容器排除在自动更新之外的解决方案同样是避免问题而不是解决问题。

我有什么选择 - 我曾考虑在 Watchtower 进行每周更新检查约一小时后在机器上添加一个 cron 作业以重新启动堆栈,但如果我尝试这样做,我会遇到同样的问题,即家属没有正确的网络开始/停止/重启。

Portainer 中是否有相当于停止/启动堆栈的命令行?如果有的话,我可以在 cron 作业中运行它并自动化这个令人头疼的问题。我在其他地方看到过有关 Edge 工作的讨论,但这似乎已被贬低,因此不是一个非常可维护的解决方案。

这个周末我对这个问题进行了广泛的研究,没有人真正给出确切的答案。任何帮助深表感谢。

我正在运行 Portainer 2.9.0。我的码头工人撰写:

0 投票
0 回答
231 浏览

docker - 使用 Docker 和 Watchtower 获取新的身份验证错误

我在 docker.com 上有一个公共 docker 容器,我试图让 Watchtower 在容器更新时自动拉取,但没有成功。这在几个月前有效,但现在不是。我使用 docker-compose 创建了瞭望塔容器(我之前使用的是默认启动命令,没有令牌,它正在工作)。

让我感到困惑的一点是,由于这是一个公共容器,我认为我不需要任何身份验证来拉取它。

这是瞭望塔的 docker 日志,显示 401 身份验证错误。

我的码头工人撰写文件:

0 投票
1 回答
35 浏览

aws-fargate - 如何在 ECS Fargate 中使用 Watchtower?

我正在尝试在 ECS Fargate 上使用瞭望塔。但是文档说瞭望塔必须绑定到 /var/run/docker.sock。但 AFAIK ECS Fargate 不支持这一点。

有没有办法通过 AWS Fargate 使用瞭望塔?

0 投票
0 回答
20 浏览

docker - 每次拉取新的 docker 镜像时,让 WatchTower 更新环境变量

如果我的理解是正确的,一旦我拥有了 WatchTower 以及一个运行应用程序的容器;在每次拉取容器的最新映像时,WatchTower 都会传递我最初传递的相同环境变量。

例如,假设我正在运行 WatchTower,并且我运行应用程序的容器,如下所示:

一旦我的应用程序启动并运行,我就会进入/var/www/html/admin.bejebeje.com/variables.env并更新一些环境变量。然后我在我的应用程序上做一些工作,并将一个新的 docker 镜像推送到 DockerHub。

当 WatchTower 拉取新图像时,我注意到我的应用程序没有获得新的环境变量。它仍然得到旧的。

我该怎么做才能让 WatchTower 始终使用最新的环境变量?

0 投票
0 回答
176 浏览

docker - 连接到 /var/run/docker.sock 时获得权限被拒绝

我正在尝试使用 podman 在 RHEL 8.0 中使用瞭望塔容器( https://containrrr.dev/watchtower/ )。由于 RHEL 8.0 没有正式支持 docker,所以我没有在这个 VM 中安装 docker-engine。我已经启动了 podman.socket 服务并且 podman.sock 位于 /run/podman/podman.sock

当我发出podman-compose up -d命令时,所有其他容器都成功启动而没有任何错误,但瞭望塔容器退出并显示代码 (1)。

这是瞭望塔容器生成的日志:

我授予了 /run/podman/podman.sock 文件的执行权限,但仍然出现此错误。

带有瞭望塔服务的 docker-compose.yml 片段。

由于我没有 docker.sock,我将 podman.sock 挂载到 docker.sock,以便瞭望塔可以与 docker API 通信。

我该如何解决?(我不想安装docker)

0 投票
1 回答
44 浏览

docker - docker watchtower - 从私有 docker 存储库拒绝访问

我一直在尝试设置一个自动 docker pull 环境。
这是我的命令。

- 启动应用程序容器

$docker run -d index.docker.io/<username>/<reponame>

- 使用 config.json 启动瞭望塔

$docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock: -v /$HOME/.docker/config.json:/$HOME/config.json: containrrr/watchtower --run-once

-/$HOME/config.json

- 这是瞭望塔的回应

Error response from daemon: pull access denied for <username>/<reponame> repository does not exist or may require 'docker login'

有什么建议么?