ishinokazuki/kimigayo-os

By ishinokazuki

Updated 6 months ago

distroless Linuxにインスパイアされた軽量・高速・セキュアなコンテナ向けOS

Image
Networking
Security
Web servers
1

2.3K

ishinokazuki/kimigayo-os repository overview

Kimigayo OS

Google の distroless と Alpine Linux のハイブリッドアプローチ

軽量・高速・セキュアなコンテナ向けOS

設計思想

Kimigayo OSは、distrolessAlpine Linux の両方の長所を組み合わせています:

distroless からの継承
  • 不変インフラ: パッケージマネージャーなし、実行時の変更を排除
  • 最小攻撃面: 実行時のパッケージインストール機能を物理的に排除
  • 超軽量: 1-3MBの極小イメージサイズ
Alpine Linux からの継承
  • musl libc: 軽量で高速なCライブラリ(glibcの1/10)
  • BusyBox: デバッグ可能なシェルとUnixコマンド
  • OpenRC: シンプルで軽量なInitシステム
  • セキュリティ強化: PIE、ASLR、Stack Protector等

主な特徴

  • 🪶 超軽量: ベースイメージ1-3MB
  • 高速起動: 10秒以内のシステム起動
  • 🔒 セキュリティ強化: ASLR、DEP、PIE、seccomp-BPFをデフォルトで有効化
  • 🛡️ 最小攻撃面: パッケージマネージャーを意図的に排除
  • 🏗️ モジュラー設計: 必要なコンポーネントのみを選択可能
  • 🔁 再現可能ビルド: ビット同一なビルド出力
  • 🌐 マルチアーキテクチャ: x86_64とARM64をサポート(GCC 15対応済み)

基盤技術

  • Linuxカーネル 6.6.11(強化版、GCC 15対応パッチ適用)
  • musl libc 1.2.4
  • BusyBox 1.36.1
  • OpenRC initシステム

ドキュメント

クイックスタート

イメージの取得
# Standardバリアント(推奨)
docker pull ishinokazuki/kimigayo-os:latest

# Minimalバリアント
docker pull ishinokazuki/kimigayo-os:latest-minimal

# Extendedバリアント
docker pull ishinokazuki/kimigayo-os:latest-extended
コンテナの実行
# 対話的シェル
docker run -it ishinokazuki/kimigayo-os:latest /bin/sh

# コマンド実行
docker run ishinokazuki/kimigayo-os:latest uname -a
ベースイメージとして使用
# マルチステージビルドで必要なものを準備
FROM alpine:3.19 AS builder
RUN apk add --no-cache nginx

# Kimigayo OSで最小ランタイム環境を構築
FROM ishinokazuki/kimigayo-os:latest
COPY --from=builder /usr/sbin/nginx /usr/sbin/nginx
COPY --from=builder /usr/lib/nginx /usr/lib/nginx

# アプリケーションのセットアップ
COPY . /app
WORKDIR /app

CMD ["/usr/sbin/nginx", "-g", "daemon off;"]

イメージバリアント

  • kimigayo-os:latest - Standardバリアント(< 15MB)

    • 一般的なユーティリティを含む
    • 汎用コンテナベースイメージとして推奨
  • kimigayo-os:latest-minimal - Minimalバリアント(< 5MB)

    • カーネル + musl libc + 最小限のBusyBox
    • 特化したコンテナ向けの絶対最小フットプリント
  • kimigayo-os:latest-extended - Extendedバリアント(< 50MB)

    • 開発ツールと追加ユーティリティを含む
    • 開発環境と機能豊富なコンテナ向け

タグ一覧

バージョン指定タグ
kimigayo-os:0.1.0               # Standardバリアント、バージョン0.1.0
kimigayo-os:0.1.0-minimal       # Minimalバリアント、バージョン0.1.0
kimigayo-os:0.1.0-extended      # Extendedバリアント、バージョン0.1.0
アーキテクチャ指定タグ
kimigayo-os:0.1.0-amd64         # x86_64アーキテクチャ
kimigayo-os:0.1.0-arm64         # ARM64アーキテクチャ
ローリングタグ(自動更新)
kimigayo-os:latest              # 最新安定版Standardバリアント
kimigayo-os:latest-minimal      # 最新安定版Minimalバリアント
kimigayo-os:latest-extended     # 最新安定版Extendedバリアント
kimigayo-os:stable              # 最新安定版リリース(latestのエイリアス)
kimigayo-os:edge                # 最新開発ビルド(不安定版)

セキュリティ

イメージ署名

すべての公式イメージは以下を使用して署名されます:

  • Docker Content Trust(DCT)
  • 追加検証用のCosign
脆弱性スキャン

イメージは以下で自動スキャンされます:

  • Trivy
  • 結果はGitHub Securityタブに公開
更新ポリシー
  • セキュリティパッチ: 開示後24〜48時間以内にリリース
  • バグ修正: 定期的なパッチリリースに含める
  • 機能更新: SemVerマイナーバージョン増分に従う

ライセンス

GPL-2.0 - 詳細はLICENSEファイルを参照してください。

サポート

プロジェクトリンク

Tag summary

Content type

Image

Digest

sha256:ac934e46a

Size

738.1 kB

Last updated

6 months ago

docker pull ishinokazuki/kimigayo-os:latest-extended