
rancher/s6-builder本镜像是基于 jprjr/s6-builder 的固定版本构建,提供 s6 运行时环境。s6 是一套轻量级的 Unix 进程管理工具集,核心功能包括进程 supervision(监控与重启)、服务生命周期管理、信号处理及日志聚合,适用于 Docker 容器场景下的服务进程管理,确保服务可靠启动、运行及故障恢复。
SIGTERM、SIGINT)处理逻辑,确保服务优雅停止。通过 docker run 命令启动容器,基础用法如下:
bashdocker run -d --name s6-demo <镜像名称>
默认情况下,镜像会启动 s6 supervision 主进程,并运行预配置的服务(具体服务需参考镜像内置配置或自定义添加)。
镜像可能支持以下环境变量(具体以实际镜像实现为准):
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
S6_LOGGING | 日志输出模式,可选 0(禁用日志)、1(标准输出)、2(文件日志) | 1 |
S6_SERVICE_DELAY | 服务启动延迟时间(秒),用于控制多服务启动顺序 | 0 |
S6_CMD_WAIT_FOR_SERVICES | 是否等待所有服务就绪后再执行后续命令 | 1(启用) |
s6 通过服务目录管理进程,用户可通过挂载或构建时添加自定义服务配置:
服务目录结构:每个服务需在 /etc/s6/services/ 目录下创建独立子目录(如 /etc/s6/services/my-service/),包含以下文件:
run:可执行脚本,定义服务启动命令(必须存在且可执行);finish:可选脚本,定义服务停止时的清理逻辑;down:可选脚本,定义服务强制终止时的处理逻辑。示例:添加自定义服务
创建 my-service 服务配置,启动 nginx 并输出日志:
dockerfile# 自定义 Dockerfile 示例 FROM <s6-runtime-image> RUN mkdir -p /etc/s6/services/my-service # 编写 run 脚本 RUN echo '#!/bin/sh' > /etc/s6/services/my-service/run && \ echo 'exec nginx -g "daemon off;"' >> /etc/s6/services/my-service/run && \ chmod +x /etc/s6/services/my-service/run
通过挂载自定义服务
运行时挂载本地服务配置目录至容器:
bashdocker run -d -v $(pwd)/my-service:/etc/s6/services/my-service <镜像名称>
jprjr/s6-builder 固定版本构建,s6 工具版本及特性以基础构建版本为准;SIGTERM),避免服务无法优雅停止;json-file、journald)收集。


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