本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

docker-alpine-s6overlay 是一个基于 Alpine Linux 的轻量级基础镜像,集成了 s6-overlay 进程管理框架。该镜像旨在为容器化应用提供可靠的进程监督、服务生命周期管理和优雅的启动/关闭机制,特别适合需要管理多个进程或依赖特定启动顺序的应用场景。
Alpine Linux 的轻量级特性(小巧的镜像体积、高效的资源占用)与 s6-overlay 的强大进程管理能力相结合,使该镜像成为构建精简且可靠的容器服务的理想基础。
apk),支持快速安装额外依赖。sysvinit 或 systemd。dependencies 配置)、预启动/后停止脚本执行。SIGTERM)后,按优先级逐步终止服务,确保数据一致性。supervisord 等工具。/etc/s6-overlay/s6-rc.d/ 目录下放置服务配置文件,即可定义需管理的服务。通过 Docker 命令直接拉取(需替换 TAG 为具体版本,如 3.18-s6v3.1.5.0):
docker pull gitlab.com/sc4h/docker-alpine-s6overlay:TAG
或在 Dockerfile 中作为基础镜像引用:
FROM gitlab.com/sc4h/docker-alpine-s6overlay:TAG
在镜像或容器中,通过以下方式定义 s6-overlay 管理的服务:
/etc/s6-overlay/s6-rc.d/ 目录下创建服务目录(如 my-service)。run:服务启动脚本(必须可执行,退出时服务将被视为停止)。finish(可选):服务停止后执行的清理脚本。dependencies(可选):指定依赖的其他服务(需先启动的服务名称)。示例服务定义(以 nginx 为例):
# 创建服务目录 mkdir -p /etc/s6-overlay/s6-rc.d/nginx # 编写 run 脚本(启动 nginx 并保持前台运行) cat > /etc/s6-overlay/s6-rc.d/nginx/run << 'EOF' #!/command/execlineb -P nginx -g "daemon off;" EOF # 添加执行权限 chmod +x /etc/s6-overlay/s6-rc.d/nginx/run
基于 docker-alpine-s6overlay 构建包含应用的自定义镜像:
FROM gitlab.com/sc4h/docker-alpine-s6overlay:3.18-s6v3.1.5.0 # 安装应用依赖(如 nginx) RUN apk add --no-cache nginx # 添加服务配置(如上述 nginx 服务定义) COPY ./nginx-service /etc/s6-overlay/s6-rc.d/nginx # 暴露端口(如 nginx 的 80 端口) EXPOSE 80
直接运行基础镜像(需挂载服务配置):
docker run -d \ --name my-service \ -v $(pwd)/my-service:/etc/s6-overlay/s6-rc.d/my-service \ gitlab.com/sc4h/docker-alpine-s6overlay:latest
运行自定义镜像:
docker run -d \ --name my-nginx \ -p 80:80 \ my-custom-nginx-image:latest
s6-overlay 的行为可通过环境变量自定义,常用配置如下:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
S6_KILL_GRACETIME | 发送终止信号后等待进程退出的最大时间(秒)。 | 30 |
S6_CMD_WAIT_FOR_SERVICES_MAXTIME | 等待所有服务启动完成的最大时间(秒)。超时则容器退出。 | 300 |
S6_LOGGING | 日志输出模式:1(仅标准输出)、2(文件+标准输出)、3(仅文件)。 | 1 |
S6_SERVICE_DEPS | 强制指定服务启动依赖关系(覆盖服务目录中的 dependencies 文件)。 | 空 |
以下是使用 docker-compose.yml 部署基于该镜像的多服务应用示例(包含 nginx 和 php-fpm):
version: '3.8' services: web: build: . # 基于 docker-alpine-s6overlay 构建的自定义镜像 ports: - "80:80" volumes: - ./html:/var/www/html environment: - S6_KILL_GRACETIME=60 # 延长优雅关闭等待时间 - S6_LOGGING=2 # 同时输出日志到文件和标准输出 restart: unless-stopped
/etc/s6-overlay/s6-rc.d/ 下的服务脚本(run、finish)具有可执行权限(chmod +x)。run 脚本必须以前台模式运行进程(如 nginx -g "daemon off;"),否则 s6-overlay 会认为进程已退出并尝试重启。json-file、journald)进行日志收集。3.18-s6v3.1.5.0)而非 latest,确保构建一致性。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429