用于执行空闲容器主机的自动关机服务
项目描述
Docker空闲看门狗
docker-watchdog Python包提供了一种后台服务,用于监视Docker容器主机的空闲时间,并在达到预定义的空闲阈值后自动关闭主机。类似于shutdown-if-idle包,预期的使用场景是自动关闭作为持续集成(CI)管道一部分按需启动的云虚拟机,尽管重点是Docker容器主机。
该包的主要功能包括
- 支持Windows、macOS和Linux
- 在所有支持的操作系统下提供简单的服务安装
- 考虑云服务提供商的计费粒度,以确保关机决策具有成本效益
内容
安装
要求
docker-watchdog包需要以下内容
- Python 3.5或更高版本
- 在macOS和Linux下,需要安装pleaserun Ruby gem以执行服务安装
包安装
要安装docker-watchdog Python包本身,只需运行
pip3 install docker-watchdog
(您可能需要在macOS和Linux下使用sudo
来运行此命令。)
一旦安装了包,您可以通过以下任一命令运行看门狗
# Uses the wrapper generated by pip
docker-watchdog
# Invokes the package directly via the Python interpreter
python3 -m docker_watchdog
服务安装
要安装docker-watchdog的启动服务,请确保已安装所有必需的依赖项,并以提升的权限运行以下命令
docker-watchdog --install
然后,在主机系统启动时,背景服务将自动启动。
云服务器的安装脚本
为了简化云服务器的设置过程,脚本目录scripts包含了常见Docker容器主机平台的安装脚本。这些脚本会自动安装docker-watchdog及其依赖项,并注册docker-watchdog启动服务。
以下平台提供了脚本
-
Windows Server: scripts/install_windows_server.ps1
安装Chocolatey包管理器,使用Chocolatey安装Python和docker-watchdog,并注册docker-watchdog启动服务。
要使用此脚本,请在提升的PowerShell提示符下运行以下命令
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/adamrehn/docker-watchdog/master/scripts/install_windows_server.ps1'))
-
基于Debian的Linux发行版: scripts/install_debian.sh
安装Python、Ruby、pleaserun和docker-watchdog,并注册docker-watchdog启动服务。
要使用此脚本,请以root权限运行以下命令
curl -fsSL 'https://raw.githubusercontent.com/adamrehn/docker-watchdog/master/scripts/install_debian.sh' | bash
配置
看门狗可以通过JSON配置文件或环境变量进行配置。这两种方法也可以一起使用,在这种情况下,配置文件中的值将优先于环境变量中的值。任何未指定值的设置将回退到使用合理的默认值。
JSON配置文件的存储位置基于操作系统和运行环境
- 在Windows下:
%APPDATA%\docker-watchdog\config.json
- 在macOS和Linux下
- 如果以非root用户运行:
$HOME/.config/docker-watchdog/config.json
- 如果以root用户运行:
/etc/docker-watchdog/config.json
- 如果以非root用户运行:
可用的配置设置如下
JSON键 | 环境变量 | 默认 | 描述 |
---|---|---|---|
sleep |
DOCKER_WATCHDOG_SLEEP_INTERVAL |
60 | 指定采样运行之间的睡眠间隔(以秒为单位)。 |
timeout |
DOCKER_WATCHDOG_IDLE_TIMEOUT |
600 | 指定考虑系统空闲所需的不活动期(以秒为单位)。 |
billing |
DOCKER_WATCHDOG_BILLING_GRANULARITY |
0 | 如果主机是云VM,指定计费粒度(以秒为单位),否则为0。 |
percentage |
DOCKER_WATCHDOG_EFFECTIVE_PERCENTAGE |
0.9 | 指定必须已过期的当前计费单元的最小百分比(0.0到1.0),以考虑关闭是具有成本效益的。 |
法律
版权所有 © 2019, Adam Rehn。根据MIT许可协议授权,有关详细信息请参阅文件LICENSE。
本软件包的开发得到了Deepdrive, Inc的支持。
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
docker_watchdog-0.0.5-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 1788603feb37d731bf1a020e0949cde4c36bc7c0443a79fa627dfff0eed0a62f |
|
MD5 | e9bf180570083c3e1b9a436d644552ec |
|
BLAKE2b-256 | ecc381765d3ac2d55b31276c03be5dce84e6ab525ac062e30987d8dd948a89f5 |