タグ

ContainerとGoに関するmkusakaのブックマーク (1)

  • Dockerの裏側を知るために、Goで最小限のコンテナランタイムを作ってみた

    コンポーネントと依存関係 各インターフェースがどのように実装の詳細を隠蔽(抽象化)しているか、メモ程度ですが具体的なメソッドレベルで書きます。 1. Domain Layer(internal/domain) ビジネスロジックが依存する仕様、振る舞いを定義しています。 ContainerInstance(Interface) 役割: libcontainerなどの低レベルなコンテナランタイム操作を抽象化。 マッピング: libcontainer.Container構造体が持つメソッド群(Run, Destroy, Signal, Status)を定義。 メリット: これにより、Usecase層はlibcontainerの実体を知らなくても、このインターフェースを通じてコンテナを操作(起動・停止)できる。 また、テスト時にはモックへの差し替えが容易になる。 ContainerReposito

    Dockerの裏側を知るために、Goで最小限のコンテナランタイムを作ってみた
    mkusaka
    mkusaka 2025/12/30
    Go 1.25で実装した軽量コンテナランタイム「nendo」は、runc v1.4.0上にgRPCクライアント‑サーバーで作成・起動・停止・削除・一覧・execを提供します
  • 1