トピック
Windows における Docker のインストール方法を比較
- Windows に Docker Desktop for Windows をインストール
- WSL Ubuntu に Docker CE をインストール
比較表
項目 | Docker Desktop for Windows | Docker CE on WSL Ubuntu |
---|---|---|
公式推奨 | ||
インストールのしやすさ | ||
機能 | ||
GUI | ||
コンテナの種類 | ||
パフォーマンス | ||
ライセンス |
- Docker Engine :
コンテナを作成、実行するための核心的な実行環境 - Docker Compose :
複数のコンテナを定義し、実行するためのツール - Docker CLI :
Docker を操作するためのコマンドラインインターフェース - Kubernetes :
コンテナを自動でデプロイ、管理、スケーリングするためのオープンソースシステム - docker-desktop :
WSL 上で Docker Desktop を動作させるための特別なLinuxディストロ - docker-desktop-data :
Docker Desktop の実行に関連するデータ( Docker イメージや Docker コンテナなど)を
格納するための特別な Linux ディストロ
公式推奨
Windows、MacOS、Linux どの環境においても Docker Desktop の利用を推奨している
インストールのしやすさ
Docker Desktop は、簡単に Docker が使えるように、本来は複雑なセットアップを自動で行う
Docker CE の場合は、コマンドラインでインストール作業を行う
機能
Docker Desktop がインストールする機能
- Docker Engine
- Docker CLI client
- Docker Scout (但し、追加のサブスクリプションが必要)
- Docker Build
- Docker Extensions
- Docker Compose
- Docker Content Trust
- Kubernetes
- Credential Helper
Docker CE でインストールする機能
- Docker Engine
- Docker CLI client
- Docker Build
- Docker Compose
- Credential Helper
Docker Desktop に含まれるが Docker CE に含まれない機能
- Docker Scout (但し、追加のサブスクリプションが必要)
- Docker Extensions
- Docker Content Trust
- Kubernetes
GUI
- Docker Desktop では、コンテナやイメージの管理がGUIで操作できる
- Docker CE はコマンドラインのみ
コンテナの種類
- Docker Desktop for Windows では、Windows コンテナと Linux コンテナの2種類が使用可能
- 但し、Windows コンテナは Home 版では使用不可
- Pro や Enterprise、Server 版なら使用可能
- 情報源 : Install Docker Desktop on Windows | Docker Docs
- WSL Ubuntu の Docker CE では、Linuxコンテナのみ
結論 :
- Windows Home → Linux コンテナのみ
- Windows Pro, Enterprise → Windows, Linux コンテナ
パフォーマンス
定量的に計測したわけではない経験則だけれど Docker Desktop は動作が重いと感じる
詳しく調べていないが、予想できる原因一覧 :
- リソース管理 :
Docker Desktopは、Docker Engine、Kubernetesなどの複数のサービスを同時に管理する。
これらのサービスがシステムリソースを消費し、特にメモリとCPU使用率が高くなる。 - 仮想化オーバーヘッド :
Docker Desktop for Windowsは WSL 上で docker-desktopとdocker-desktop-data の2つを管理・実行するため、その仮想化オーバーヘッドを伴う。 - ファイルシステムの変換 :
WSL 2では、WindowsとLinux間でファイルシステムを変換する必要がある。
特に、bind mountの設定や大量のファイル操作といったI/Oが多い作業では顕著になる。 - Docker Desktop自体の重さ :
Docker Desktop 自体に含まれる統合 GUI や Kubernetes 管理機能などのオーバーヘッド。
情報源 :
- WSL バージョンの比較 | Microsoft Learn
- Docker Desktop WSL 2 backend on Windows | Docker Docs
- Bind mounts | Docker Docs
ライセンス
Docker CE : 無料
Docker Desktop : 条件付き無料
Pricing | Docker Commercial use of Docker Desktop at a company of more than 250 employees OR more than $10 million in annual revenue requires a paid subscription (Pro, Team, or Business).
従業員数250名以上、または年間売上1,000万ドル以上の企業でDocker Desktopを商用利用するには、有料サブスクリプション(Pro、Team、またはBusiness)が必要です。
判断基準
-
基本 → Docker Desktop
-
Windows コンテナを使いたい → Docker Desktop ∧ Windows Pro
-
GUI いらない → Docker CE
-
動作が重い → Docker CE
-
ライセンスに引っかかる → Docker CE