Dockerとは?Dockerとは?〜コンテナ技術を支えるOSSプラットフォーム〜Dockerとは? (OSS)として公開されたコンテナプラットフォームです。 アプリケーションとその実行環境を「コンテナ」としてパッケージ化し、どの環境でも同じように動作させることができます。
Dockerの3つの基本機能
Dockerは主に次の3つの機能で構成されています👇
🏗️ Build(ビルド)
- コマンド:
docker build
- Dockerfileをもとに、アプリケーションや依存関係、OSを1つのイメージにまとめる機能。
- 例)アプリの環境を再現性高く構築できる。
🚢 Ship(シップ)
- コマンド:
docker push、docker 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.