一般社団法人 全国個人事業主支援協会

COLUMN コラム

Dockerとは?Dockerとは?〜コンテナ技術を支えるOSSプラットフォーム〜Dockerとは? (OSS)として公開されたコンテナプラットフォームです。 アプリケーションとその実行環境を「コンテナ」としてパッケージ化し、どの環境でも同じように動作させることができます。


Dockerの3つの基本機能

Dockerは主に次の3つの機能で構成されています👇

🏗️ Build(ビルド)

  • コマンド:docker build
  • Dockerfileをもとに、アプリケーションや依存関係、OSを1つのイメージにまとめる機能。
  • 例)アプリの環境を再現性高く構築できる。

🚢 Ship(シップ)

  • コマンド:docker pushdocker pull
  • Docker Hubなどのレジストリを使って、作成したイメージを他のホストや開発者と共有できる。
  • 例)開発チームで同じイメージを使うことで、環境差異をなくせる。

⚙️ Run(ラン)

  • コマンド:docker run
  • ネームスペースケーパビリティなどを使って、ホストから隔離された環境(コンテナ)を作成し、イメージを実行する。
  • 例)1つのマシン上で複数アプリを安全に動かせる。

Dockerを構成する4つの主要コンポーネント

Dockerの内部は、以下の4つのコンポーネントで構成されています。

🧩 1. docker CLI

  • dockerコマンドを提供するコマンドラインインターフェース
  • ユーザーが最初に触る部分で、内部的にdockerdへリクエストを送信します。

🖥️ 2. dockerd

  • Dockerデーモン
  • イメージ管理、ファイルシステム管理、ネットワーク管理などを担当。
  • UNIXソケットまたはTCPソケットを介してREST APIを提供します。

🧠 3. containerd

  • コンテナのライフサイクル管理(作成・実行・停止など)を担う。
  • **CNCF(Cloud Native Computing Foundation)**によってホストされているオープンソースプロジェクト。

🔒 4. runc

  • Linuxカーネルの機能(ネームスペース・ケーパビリティなど)を組み合わせ、 コンテナと呼ばれるサンドボックス環境を作成する。
  • OCI(Open Container Initiative)によって標準化・管理されている。

まとめ

役割 コンポーネント 機能概要
CLI層 docker CLI コマンド実行(ユーザー操作)
デーモン層 dockerd イメージやネットワークなどを管理
ランタイム層 containerd コンテナのライフサイクルを制御
実行層 runc Linux機能を用いてコンテナ環境を生成

Dockerは、このような階層的な構造で成り立っており、 開発者が手軽にアプリケーションをBuild → Ship → Runできるよう支えています。

The following two tabs change content below.

小久保 暁人

最新記事 by 小久保 暁人 (全て見る)

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア