Skip to content

MS_DockerDesktopForWindows

nishi_74322014 edited this page Aug 12, 2026 · 1 revision

Docker Desktop for Windows

概要

2.0.0.2 から Docker Desktop for Windows にリネーム。

  • 旧名称は Desktop with integrated Kubernetes
  • 本バージョンから、以下がサポートされるようになった。
  • 有償化
    • Java 有償化っぽい雰囲気。
    • 2021/8/31 発表、2021/8/31 から開始、2022/1/31 までが猶予期間

詳細

インストール

Docker for Windowsを参照。

有償化

条件

従業員数 250 人以上 または 年間売上 1000 万ドル以上の組織では
有償サブスクリプションが必要。
個人・小規模企業・教育機関・オープンソース プロジェクトは引き続き無料。

補足(誤解されやすい点): 有償化されたのは
「Docker Desktop」というデスクトップ アプリであって、
Docker Engine そのものではない

対象 ライセンス
Docker Enginedockerd / docker CLI) Apache 2.0(無償)
Docker Desktop(GUI + VM 管理 + 自動更新) 条件付き有償
Docker Hub(イメージ レジストリ) 無料枠あり(pull 回数制限)

したがって、後述のとおり
WSL2 内に Docker Engine を直接入れれば無償で使える
これが「回避」の中身である。

回避

  • Hyper-VWSL2で Docker を使う。
  • WSL2で Docker を使えるようになったので、
    ファイルシステムやネットワーク的には、より便利になった面も。

動向

  • WSL2での直利用で問題ない
  • Podman Desktop for Windows(MS_PodmanDesktop.md)の利用

補足(代替の選択肢を整理): 組織で導入を検討する際の比較。

選択肢 ライセンス 特徴
WSL2 + Docker Engine 直接 無償 設定は手動。GUI 無し。最も素直
Rancher Desktop Apache 2.0(無償) GUI あり。Docker CLI 互換 + K8s
Podman Desktop Apache 2.0(無償) デーモンレス。ルートレスで動く
Docker Desktop 条件付き有償 最も枯れている。サポートあり

WSL2 への直接インストールは次の 3 行程度で済む。

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
sudo service docker start   # systemd 有効なら systemctl enable --now docker

機能

Desktop with integrated Kubernetes

ローカルの Docker for Windowsで K8s が動作する。

Docker Desktop WSL2 Backend

  • WSL(1) に Docker を入れるという裏技もあったけど、
  • WSL2は VM 上で動くようになったので
    Docker が安定して動作するようになった。
    (Linux のファンクションコールに強く依存する Docker などは
    WSL(1) で動作しなかった。)
  • Docker Desktop WSL2 Backend は、読んで字の如く、
    WSL2(Backend)上の Docker を、Docker Desktop for Windows から使用するもの。

動確

K8s

有効化と有効化の確認

K8s と Compose on Kubernetes を有効化して再起動。

K8sの有効化

有効化された事を確認する。

>kubectl get componentstatuses
Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made ...

↓ ↓ ↓

>kubectl get componentstatuses
NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-0               Healthy   {"health":"true"}

K8s ダッシュボードをデプロイ

>kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
secret/kubernetes-dashboard-certs created
serviceaccount/kubernetes-dashboard created
...

>kubectl get deployment --namespace=kube-system -l k8s-app=kubernetes-dashboard
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
kubernetes-dashboard   1/1     1            1           23s

ローカルホストから Kubernetes ダッシュボードにアクセスするプロキシを起動する。

ログイン

ダッシュボード

移行メモ(最新化): kubectl get componentstatusescs)は
Kubernetes 1.19 以降で非推奨である。
現在は次を使う。

kubectl get --raw='/readyz?verbose'
kubectl cluster-info

また、上記の Dashboard v1.10.1 は古く、
現在は Helm でのインストールが公式手順になっている
kubernetes-dashboard チャート)。

補足(ローカル K8s は「学習用」と割り切る): Docker Desktop 同梱の
Kubernetes は単一ノードで、本番との差が大きい
学習・動作確認には十分だが、

用途 向くもの
学習・簡単な動作確認 Docker Desktop の K8s
複数ノードの検証 kind / minikube(複数ノード構成が組める)
本番 AKS / EKS / GKE

という使い分けが実務的である。
なお開発中のアプリを回すだけなら、
K8s を使わず Docker Compose で十分なことも多い。

参考


Tags: 移行, Windows, Hyper-V, 仮想化, コンテナ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally