-
Notifications
You must be signed in to change notification settings - Fork 0
MS_DockerDesktopForWindows
- 戻る(コンテナ技術、Docker for Windows、Windows Subsystem for Linux)
- Docker Desktop for Windows
- WSL → WSL2
- Azure Kubernetes Service (AKS)
2.0.0.2 から Docker Desktop for Windows にリネーム。
- 旧名称は Desktop with integrated Kubernetes
- 本バージョンから、以下がサポートされるようになった。
- K8s
- WSL2
- Windows Server コンテナ自体
-
有償化
- Java 有償化っぽい雰囲気。
- 2021/8/31 発表、2021/8/31 から開始、2022/1/31 までが猶予期間
従業員数 250 人以上 または 年間売上 1000 万ドル以上の組織では
有償サブスクリプションが必要。
個人・小規模企業・教育機関・オープンソース プロジェクトは引き続き無料。
補足(誤解されやすい点): 有償化されたのは
「Docker Desktop」というデスクトップ アプリであって、
Docker Engine そのものではない。
対象 ライセンス Docker Engine( dockerd/dockerCLI)Apache 2.0(無償) Docker Desktop(GUI + VM 管理 + 自動更新) 条件付き有償 Docker Hub(イメージ レジストリ) 無料枠あり(pull 回数制限) したがって、後述のとおり
WSL2 内に Docker Engine を直接入れれば無償で使える。
これが「回避」の中身である。
- 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
ローカルの Docker for Windowsで K8s が動作する。
- WSL(1) に Docker を入れるという裏技もあったけど、
-
WSL2は VM 上で動くようになったので
Docker が安定して動作するようになった。
(Linux のファンクションコールに強く依存する Docker などは
WSL(1) で動作しなかった。) - Docker Desktop WSL2 Backend は、読んで字の如く、
WSL2(Backend)上の Docker を、Docker Desktop for Windows から使用するもの。
K8s と Compose on Kubernetes を有効化して再起動。

有効化された事を確認する。
>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"}
>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 componentstatuses(cs)は
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 で十分なことも多い。
-
Docker Desktopが有料化へ 従業員数250人未満
年間売り上げ1000万ドル未満の組織などは引き続き無料 - ITmedia NEWS
https://www.itmedia.co.jp/news/articles/2109/02/news112.html -
Docker Desktopが有料化へ - Publickey
https://www.publickey1.jp/blog/21/docker_desktop250100011.html -
Docker Desktop license agreement
https://docs.docker.com/subscription/desktop-license/ -
Docker Desktop WSL 2 backend
https://docs.docker.com/desktop/wsl/
Tags: 移行, Windows, Hyper-V, 仮想化, コンテナ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。