1.3 KiB
1.3 KiB
title, type, tags, last_updated
| title | type | tags | last_updated | |||||
|---|---|---|---|---|---|---|---|---|
| tini | entity |
|
2026-04-24 |
Basic Information
- Type: Product / Open Source Tool
- Category: Container Init System
- Website: https://github.com/krallin/tini
- Language: C
Description
tini 是 Docker 和 Kubernetes 容器中最广泛使用的轻量级 Init 系统,用于:
- 信号处理:正确接收并转发 SIGTERM/SIGINT 等信号到子进程,确保容器可优雅停止
- 僵尸进程收割:防止已终止但父进程尚未 wait() 的子进程(Zombie Process)占用系统资源
- 单进程容器:在无 systemd 的容器环境中替代 PID 1 职责
在 ctp-topic-49-container-lifecycle-hardening-standards 中,Ashish 通过 Demo 展示了 tini 如何在 Kubernetes 环境中阻止僵尸进程——当容器不运行 Init 系统时,僵尸进程会耗尽系统资源;引入 tini 后僵尸进程被正确收割。
Relationship to Kubernetes
- Kubernetes Pod 默认使用容器镜像的 PID 1 作为 Init 进程
- 在 Kubernetes 中可通过 Pod Security Context 或 Init Container 方式集成 tini
Aliases
- tini
- teeny(CTP Topic 49 Demo 中提到的替代名称,指同一机制)