新镜像版本的 Docker 通知

标签 docker docker-registry

我正在尝试构建一个基于官方节点 docker 镜像的 docker 镜像,我想知道是否有某种方法可以在推送新版本的官方节点镜像时自动重建镜像。这样我的图像就不会基于过时的基础图像。

也许有类似 rss-feed 的方式,可以发布对官方图像的更新,以便我可以收听该提要?

或者是否有其他方法可以通过官方 docker-registry 上的新图像获得通知?

最佳答案

默认情况下,基础 Docker 镜像 的更新必须手动拉取并应用到每个正在运行的容器。

因此,您可能正在寻找第三方工具,例如 Watchtower ,它会自动检测 Docker 容器 的基础镜像的更新。

具体来说,上述工具会监视指定的 Docker 镜像存储库 以获取新的 Docker 镜像 推送。这个存储库可以是私有(private)的也可以是公共(public)的,并且托管在 Docker Hub 上。注册表或您自己的图像注册表。

在您的情况下,您可以创建一个 docker-compose 文件,如下所示:

version: "3"
services:
  node:
    image: node:fermium-alpine3.16
    container_name: fahrecker-node-container
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    command: fahrecker-node-container

最后,您还可以通过添加一些环境变量来启用电子邮件通知功能,如下所示:

environment:
  WATCHTOWER_MONITOR_ONLY: 'true'
  WATCHTOWER_NOTIFICATIONS: email
  WATCHTOWER_NOTIFICATION_EMAIL_FROM: <EMAIL_FROM>
  WATCHTOWER_NOTIFICATION_EMAIL_TO: <EMAIL_TO>
  WATCHTOWER_NOTIFICATION_EMAIL_SERVER: smtp.provider.com
  WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT: 587 (in most cases)
  WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER: <YOUR_EMAIL>
  WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD: <YOUR_PASSWORD>

关于新镜像版本的 Docker 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74278365/

相关文章:

docker - docker 守护进程是否正在运行

dokku+nginx 上的 SSL

docker - 如何将更新的 Docker 镜像部署到 Amazon ECS 任务?

docker - 是否可以直接从 Artifactory 加载和保存 Docker 镜像?

mysql - Docker:$'\r':在 Windows 上找不到命令

python - Docker + Python,自身模块的问题

docker - ddev:更改 docker bridge 网络 ddev_default 的 IP 范围

docker - 如何在 Apache httpd 后面公开 Docker-Registry?

Docker:私有(private)注册表访问

ssl - docker.sock 使用哪个 ca.crt 进行 docker pull?