更新Docker图像并触发命令以响应更新
docker-image-updater的Python项目详细描述
a自动更新Docker图像的实用程序。支持执行 更新映像时的任意命令,以便重新启动运行 容器或触发其他自定义行为。
用法
usage: docker-image-updater [-h] [-f FILE] [--debug] [file [file ...]] positional arguments: file configuration file(s) to use optional arguments: -h, --help show this help message and exit -f FILE, --file FILE deprecated - this flag will be removed in the future --debug show debug messages
Docker图像更新程序需要一个或多个配置文件指定 要监视的图像集和要执行的命令集。默认情况下它看起来 对于/etc/docker image updater.yml,但您可以提供一个或多个替代 命令行上的文件。
当指定多个配置文件时,设置将为 与覆盖后一个配置文件中的项合并在一起 以前文件中的项。
推荐的用法是从cron运行docker映像更新程序,使用 像cronic这样的东西来接收邮件 只有在出错的情况下。
示例输出
# docker-image-updater 22:13:04 INFO Updater Checking images in set jenkins 22:13:04 INFO Updater Updating image zoni/jenkins 22:13:04 INFO Updater Pulling image zoni/jenkins ........................................................................................................................................................................................................................................................................................................................... 22:14:50 INFO Updater Image zoni/jenkins updated to latest version 22:14:50 INFO Updater Running command: supervisorctl restart jenkins jenkins: stopped jenkins: started 22:14:54 INFO Updater Command exited successfully
配置格式
配置是通过一个yaml文件来表示的,如下所示:
config: docker: base_url: "unix://var/run/docker.sock" version: "1.16" watch: my-app: images: - my-app - redis commands: - restart my-app
项watch定义要观看的图像集。这是一本字典 键(我的应用程序在上面的示例中)是人类的任意值 参考资料。在每一个键下都有一个带项目images和 需要命令。
图像定义要检查更新的Docker图像列表。你可以 将它们指定为image:tag或简单地指定为image,在这种情况下docker将 自动使用latest标记。
命令 已更新列出的图像。它们将按顺序依次运行。
dockerconfig.docker下的所有项都传递给docker客户端。 有关支持的选项,请参阅 docker-py documentation。
如果图像无法更新或一个或多个已定义的命令退出 非零退出状态,然后DOCKER图像更新器将退出 状态1。
启动我
如果你使用这个软件,请考虑 starring 在Github上。这会让我知道它被 其他人。
更改
1.0.0(2015-11-10)
- 允许指定多个配置文件(将按顺序合并设置)
- 不赞成–file参数
- 在许多配置不正确的情况下打印更友好的错误消息
0.0.2(2015-03-02)
- 更友好的配置文件加载错误消息
- 将默认配置更改为/etc/docker image updater.yml
0.0.1(2015-03-01)
- 首次公开发行。
许可证
麻省理工学院许可证(MIT)
版权所有(C)2015 Nick Groenen<;nick@groenen.me>;
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 所有副本或大部分软件。
软件按原样提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合某一特定目的和非侵犯性。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在诉讼或合同中,侵权行为或其他,产生于, 不属于或与软件、使用或其他交易有关 软件。