我正在尝试构建一个基于官方node docker镜像的docker镜像,并想知道是否有一种自动重建镜像的方法,当官方node镜像推出新版本时。以便我的镜像不基于过时的基础镜像。
也许有一些类似rss-feed的方式,官方镜像的更新发布在上面,这样我就可以监听该反馈?
或者是否有其他方式可以通过官方docker-registry获得新的镜像通知?
我正在尝试构建一个基于官方node docker镜像的docker镜像,并想知道是否有一种自动重建镜像的方法,当官方node镜像推出新版本时。以便我的镜像不基于过时的基础镜像。
也许有一些类似rss-feed的方式,官方镜像的更新发布在上面,这样我就可以监听该反馈?
或者是否有其他方式可以通过官方docker-registry获得新的镜像通知?
默认情况下,基本的Docker镜像
更新必须手动拉取并应用到每个正在运行的容器中。
因此,您可能正在寻找一个第三方工具,如Watchtower,它可以自动检测您的Docker容器
基础镜像的更新过程。
具体来说,上述工具会监视指定的Docker镜像仓库
以获取新的Docker镜像
推送。该仓库可以是私有或公共的,并且可以托管在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>