
basefly/keepalived是一个基于Alpine Linux构建的轻量级高可用解决方案镜像,集成了keepalived和curl工具。该镜像支持arm64和amd64两种架构,可用于实现服务器或服务的故障转移和VIP(虚拟IP)管理,确保服务持续可用。
使用docker运行(需提前准备keepalived.conf配置文件):
bashdocker run -d \ --name keepalived \ --restart always \ -v /etc/keepalived/keepalived.conf:/etc/keepalived/keepalived.conf \ --network=host \ --privileged \ basefly/keepalived
使用containerd/nerdctl运行:
bashnerdctl run -d \ --name keepalived \ --restart always \ -v /etc/keepalived/keepalived.conf:/etc/keepalived/keepalived.conf \ --network=host \ --privileged \ basefly/keepalived
Master节点配置示例
jsonglobal_defs { router_id lb-master # 路由标识,建议唯一 } vrrp_script check { script "curl -k https://127.0.0.1:6443/readyz" # 健康检查脚本(示例为K8s API健康检查) interval 3 # 检查间隔(秒) timeout 9 # 超时时间(秒) fall 2 # 连续失败次数达到此值触发切换 rise 2 # 连续成功次数达到此值恢复 } vrrp_instance VI-kube-master { state MASTER # 节点角色(MASTER/BACKUP) priority 120 # 优先级(MASTER应高于BACKUP) unicast_src_ip {{.Master0}} # 本地IP地址 unicast_peer { {{.Master1}} # 对等节点IP地址 } dont_track_primary # 不跟踪主接口状态 interface {{.Interface}} # 绑定的网络接口(如eth0) virtual_router_id 111 # 虚拟路由ID(主备节点需一致) advert_int 3 # 通告间隔(秒) track_script { check # 引用健康检查脚本 } virtual_ipaddress { {{.Vip}} # 虚拟IP地址(VIP) } }
Backup节点配置示例
jsonglobal_defs { router_id lb-backup-{{.Master1}} # 路由标识,与MASTER区分 } vrrp_script check { script "curl -k https://127.0.0.1:6443/readyz" # 与MASTER相同的健康检查脚本 interval 3 timeout 9 fall 2 rise 2 } vrrp_instance VI-kube-master { state BACKUP # 节点角色为BACKUP priority 105 # 优先级低于MASTER(如105 < 120) unicast_src_ip {{.Master1}} # 本地IP地址 unicast_peer { {{.Master0}} # 对等节点(MASTER)IP地址 } dont_track_primary interface {{.Interface}} # 与MASTER相同的网络接口 virtual_router_id 111 # 与MASTER相同的虚拟路由ID advert_int 3 track_script { check } virtual_ipaddress { {{.Vip}} # 与MASTER相同的VIP } }
配置参数说明:
router_id:节点唯一标识state:节点角色(MASTER/BACKUP)priority:优先级,值越高越优先成为主节点unicast_src_ip:本地IP地址unicast_peer:对等节点IP列表interface:绑定的网络接口virtual_router_id:虚拟路由ID(0-255,主备节点需一致)virtual_ipaddress:需要漂移的VIP地址vrrp_script:健康检查脚本配置,用于检测服务状态如需自定义构建镜像,可使用以下命令(支持多平台构建):
bashdocker buildx build \ -t basefly/keepalived:v2.2.4 \ --platform=linux/arm64,linux/amd64 \ . \ --push
Dockerfile解析:
bashFROM alpine # 基于Alpine基础镜像 RUN apk --no-cache add keepalived curl # 安装keepalived和curl工具 # 启动命令:清理运行文件并启动keepalived(前台运行模式) CMD rm -rf /var/run/keepalived/* && \ /usr/sbin/keepalived --dont-fork --log-console -f /etc/keepalived/keepalived.conf
--privileged特权模式运行,以确保keepalived能正常管理网络接口--network=host网络模式,确保VIP配置生效/etc/keepalived/keepalived.conf路径virtual_router_id必须一致,priority需区分(MASTER > BACKUP)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务