
ygqygq2/keepalived
最新版本:2.0.10 - Keepalived 2.0.10 - 变更日志 | Docker Hub
用于运行Keepalived的Docker镜像。
keepalived.org
此镜像要求主机已加载ip_vs内核模块(modprobe ip_vs),且运行时需添加参数:--cap-add=NET_ADMIN --net=host
bashdocker run --cap-add=NET_ADMIN --net=host -d osixia/keepalived:2.0.10
此镜像默认包含一个可通过环境变量快速定制的Keepalived配置文件,但也支持使用自定义keepalived.conf,有以下两种方式:
运行时将配置文件链接到/container/service/keepalived/assets/keepalived.conf:
bashdocker run --volume /data/my-keepalived.conf:/container/service/keepalived/assets/keepalived.conf --detach osixia/keepalived:2.0.10
通过扩展或克隆此镜像添加配置文件,详情参考高级用户指南
在部分系统上,挂载文件可能出现问题。启动脚本会尝试调整文件所有权和权限,可能导致多个错误(参见Docker文档)。
解决方法:运行容器时添加--copy-service参数:
bashdocker run [你的选项] osixia/keepalived:2.0.10 --copy-service
容器默认日志级别为info。可用级别:none、error、warning、info、debug和trace。
示例:以debug模式运行容器
bashdocker run --detach osixia/keepalived:2.0.10 --loglevel debug
查看所有命令行选项:
bashdocker run osixia/keepalived:2.0.10 --help
环境变量默认值在image/environment/default.yaml中设置。
查看如何设置自定义环境变量
KEEPALIVED_INTERFACE:Keepalived网络接口,默认值:eth0
KEEPALIVED_PASSWORD:Keepalived密码,默认值:d0cker
KEEPALIVED_PRIORITY:Keepalived节点优先级,默认值:150
KEEPALIVED_ROUTER_ID:Keepalived虚拟路由器ID,默认值:51
KEEPALIVED_UNICAST_PEERS:Keepalived单播对等节点,默认值:
若要在docker run命令中设置此变量,需添加标签#PYTHON2BASH:并将yaml格式转换为python格式:
bashdocker run --env KEEPALIVED_UNICAST_PEERS="#PYTHON2BASH:['192.168.1.10', '192.168.1.11']" --detach osixia/keepalived:2.0.10
在线yaml转python工具:[***]
KEEPALIVED_VIRTUAL_IPS:Keepalived虚拟IP,默认值:
若要在docker run命令中设置此变量,需按上述方法将yaml转换为python格式。
KEEPALIVED_NOTIFY:节点状态变化时执行的脚本,默认值:/container/service/keepalived/assets/notify.sh
KEEPALIVED_COMMAND_LINE_ARGUMENTS:Keepalived命令行参数,默认值:--log-detail --dump-conf
通过--env参数在命令行设置环境变量,例如:
bashdocker run --env KEEPALIVED_INTERFACE="eno1" --env KEEPALIVED_PASSWORD="password!" \ --env KEEPALIVED_PRIORITY="100" --detach osixia/keepalived:2.0.10
例如,环境文件路径为:/data/environment/my-env.yaml
bashdocker run --volume /data/environment/my-env.yaml:/container/environment/01-custom/env.yaml \ --detach osixia/keepalived:2.0.10
注意:需将环境文件链接到/container/environment/XX-somedir(XX < 99,确保在默认环境文件前处理),不要直接链接到/container/environment,因为该目录包含预定义的基础镜像环境文件(用于修复INITRD、LANG、LANGUAGE和LC_CTYPE等容器环境变量)。
若有私有仓库,这是最佳方案。详情参考下方高级用户指南。
如需添加自定义TLS证书、启动配置或环境文件,最简单的方法是扩展此镜像。
Dockerfile示例:
dockerfileFROM osixia/keepalived:2.0.10 MAINTAINER 你的姓名 <***> ADD keepalived.conf /container/service/keepalived/assets/keepalived.conf ADD environment /container/environment/01-custom ADD scripts.sh /container/service/keepalived/assets/notify.sh
克隆项目:
bashgit clone [***] cd docker-keepalived
修改Makefile,设置镜像名称和版本,例如:
makefileNAME = osixia/keepalived VERSION = 1.3.5
改为:
makefileNAME = billy-the-king/keepalived VERSION = 0.1.0
添加自定义脚本、环境文件、配置等。
构建镜像:
bashmake build
运行镜像:
bashdocker run -d billy-the-king/keepalived:0.1.0
使用Bats(Bash自动化测试系统)测试此镜像:
[***]
安装Bats后,在项目目录中运行:
bashmake test
此镜像基于osixia/light-baseimage构建。
更多信息:[***]
如在本Docker镜像中发现安全漏洞,请发送邮件至Osixia团队:***。对于次要漏洞,可直接在GitHub提交issue。
请包含尽可能多的细节。
详情参考:CHANGELOG.md


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务