Container / Build system 関連¶
概要¶
SONiC は sonic-buildimage リポジトリで Debian ベースの host OS + 機能ごとの Docker コンテナ(swss / syncd / bgp / lldp / pmon / snmp / database / teamd / dhcp_relay / nat / radv 等)を組み合わせて 1 枚のスイッチイメージを生成する大規模ビルドシステムを採用しています。make + Dockerfile.j2 + slave docker という多段ビルドが特徴で、ビルド時間とイメージサイズの最適化が継続的な課題です。
このカテゴリは container / build / image / upgrade に関わるページを area 横断でまとめます。architecture(ビルドプロファイル・ビルド時間最適化・RFS Split build)・platform(NPU MDIO / gbsyncd docker 化)・routing(dhcp-relay docker)・system(Process / Docker stats、Secure Upgrade、Container Hardening、Debian / docker semver、warm restart、syslog rate limit)の 14 ページが対象です。
ランタイム面では container hardening(capability / read-only / privileged の段階的削減)と secure upgrade(image 署名検証)が重要な軸で、それぞれ SECURE_UPGRADE_MODE や docker capability 列を CONFIG_DB に持ちます。docker warm restart は本カテゴリと Warm-Reboot 関連 の両方に出現します。
主要キーワード: container, Docker, build, image, Debian, sonic-buildimage, secure upgrade, hardening, RFS
関連ページ¶
architecture(ビルドシステム)¶
- ビルドプロファイル(rules/profiles/*.mk) (area:
architecture, verification:discrepancy-found) - ビルド時間最適化(Dockerfile レイヤ削減 / BuildKit / 並列 dh / sairedis 分離) (area:
architecture, verification:code-verified) - RFS Split build(build_debian.sh の 2 段化と squashfs 中間配備) (area:
architecture, verification:code-verified)
platform / routing(docker パッケージング)¶
- NPU MDIO アクセスと gbsyncd 単一 docker 化 (area:
platform, verification:code-verified) - DHCPv6 リレー(dhcp-relay docker 内の dhcrelay -6 プロセス) (area:
routing, verification:code-verified)
system(hardening / upgrade / versioning / warm restart)¶
- SONiC Container Hardening(capability / read-only / privileged 削減) (area:
system, verification:code-verified) - Secure Upgrade(image 署名検証 / SECURE_UPGRADE_MODE) (area:
system, verification:code-verified) - SONiC Debian アップグレード方針(base / container / 廃止 cadence) (area:
system, verification:code-verified) - SONiC OS と Docker イメージのセマンティックバージョニング (area:
system, verification:code-verified) - Process / Docker stats のテレメトリ公開(PROCESS_STATS / DOCKER_STATS) (area:
system, verification:code-verified) - syslog rate limit のコンテナ単位設定(SYSLOG_CONFIG / SYSLOG_CONFIG_FEATURE) (area:
system, verification:code-verified) - SONiC Warm Reboot(要件・順序・docker 別 warm restart) (area:
system, verification:code-verified) - SWSS docker warm restart(state restore / consistency / sync up) (area:
system, verification:code-verified) - SWSS docker の Warm Restart 実装メモ(開発時リファレンス) (area:
system, verification:discrepancy-found)
典型的な読み進め方¶
- ビルド基礎 →
build-system-improvements.mdで sonic-buildimage の全体構造と最適化ポイント - ビルドプロファイル →
build-profiles.mdでrules/profiles/*.mkの使い分け - RFS →
rfs-split-build-improvements-hld.mdで build_debian.sh の 2 段化 - packaging 個別事例 →
sonic-npu-mdio-access-support-and-gbsyncd-docker-enhancement-hld.md/dhcp-relay-for-ipv6-hld.md - versioning →
sonic-os-sonic-docker-images-versioning.md→sonic-debian-upgrade-cadence.md - runtime セキュリティ →
sonic-container-hardening.md→secure-upgrade.md - テレメトリ / syslog →
process-and-docker-stats-availability-via-telemetry-agent.md→sonic-syslog-message-rate-limit-configuration-per-container.md - warm restart 内訳 →
sonic-warm-reboot.md→sonic-swss-docker-warm-restart.md
関連 Topics 章¶
- Topics 19: Build / Packaging — ビルドとパッケージングを段階的に学ぶ章
- Topics 11: Reboot / Upgrade — secure upgrade / warm reboot の前提
- Topics 15: Security / AAA — container hardening / secure upgrade と接続
verification ステータス注意点¶
- discrepancy-found:
build-profiles.md(profile の名前空間が変更されている),swss-docker-warm-restart-code-reference.md