Watchtower的安装与使用
简介
Watchtower是一个Docker容器,可以自动更新您的Docker映像。使用Watchtower可以确保您的容器始终运行最新版本的映像。
安装Watchtower
您可以使用Docker命令从Docker Hub上安装Watchtower映像。在命令行中输入以下命令:
1 | docker pull containrrr/watchtower |
运行Watchtower容器
要启动Watchtower容器,请在命令行中输入以下命令:
1 | docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower |
这将在后台运行Watchtower容器,并将Docker守护程序的Unix套接字挂载到Watchtower容器中。
设置Watchtower容器的参数
在运行Watchtower容器之前,您可以设置一些参数来控制其行为。以下是一些常见的参数:
--interval
:设置Watchtower检查更新的时间间隔,默认值为300秒。--cleanup
:在更新容器时自动清理停止的容器和未使用的镜像。这对于释放磁盘空间很有用。--label-enable
: 启用基于标签的过滤器--label
: 指定要监视的容器标签--debug
:启用详细日志记录,以便进行故障排除。
在命令行中,您可以通过以下方式设置这些参数:
1 | docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --interval 60 --cleanup --debug |
这将以每60秒检查一次更新的间隔运行Watchtower容器,并在更新容器时自动清理停止的容器和未使用的镜像。
1 | docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock -e WATCHTOWER_LABELS=my-container containrrr/watchtower |
使用标签过滤器监视名为 my-container 的容器
配置要更新的容器
Watchtower会自动监视所有正在运行的容器,并在新版本可用时自动更新它们。但是,如果您希望Watchtower只更新特定的容器,可以使用标签来指定要更新的容器。例如,以下命令将在启动容器时使用com.centurylinklabs.watchtower.enable=true
标签:
1 | docker run --name myapp -d -p 80:80 -e "com.centurylinklabs.watchtower.enable=true" myapp:latest |
这将使Watchtower仅更新使用此标签的容器。
检查更新
Watchtower将在容器的映像发生更改时自动更新它们。您可以在容器日志中查看更新记录。要查看Watchtower容器的日志,请使用以下命令:
1 | docker logs watchtower |
如果您看到Watchtower输出的Found new running container
消息,则表示Watchtower已更新一个容器。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 InAction!
评论