Misc.

2019/12/06

メモ: Docker Desktop Edge 2.1.6.x (+2.1.7.0) × 20H1 WSL 2

Docker Desktop for Windows の Linux Containers 環境は、DockerDesktopVM という Hyper-V 仮想マシンの MobyLinux がエンジンを提供しますが、Windows 10 で将来利用可能になる、エミュレーションではないネイティブ カーネル使用の Windows Subsystem for Linux 2(WSL 2)と Docker Desktop との組み合わせも現在プレビュー中。

DockerDesktopVM は使用せず、WSL 2 に Linux Containers のエンジンを用意してくれるもの。Windows Containers 環境には無関係、Linux Containers 専用。

Docker Desktop Edge の Linux Containers 環境でこの機能を有効にすると、wsl に docker-desktop と docker-desktop の 2 つが追加され、実行状態に。DockerDesktopVM(旧称、MobyVM)はオフのまま。



DockerDesktopVM は 2GB メモリ割り当てなので、ホスト 4 GB だと足りないけど、WSL 2 ならいけると思う。プレビューだから?よくクラッシュする気がするけど。



システム要件:
・Windows 10 20H1 Insider Preview build 19018 or higher (WSL2 は 18917 からだけど)
・Docker Desktop Edge 2.1.6.0 or a later release

参考:
Installation Instructions for WSL 2(※wsl --set-default-version 2 を実行しておいたほうがいいかも)
https://docs.microsoft.com/en-us/windows/wsl/wsl2-install


Docker Desktop WSL 2 backend(※スクリーンショットが古いので注意。Resources ではなく、General にオプションがある)
https://docs.docker.com/docker-for-windows/wsl-tech-preview/


通常の Linux Containers 環境はこちら。エンジンのバージョンは変わらないけど、Hyper-V 仮想マシンの DockerDesktopVM がエンジンを提供。
このオプションは Windows Containers に切り替えても表示されるので、Windows と Linux を同時サポートできるように見えますが、WSL 2 対応はあくまでも Linux Containers 環境専用のオプション。

(一瞬、共存できるのっ?て思ったけど)Linux Containers を実行できるのは、Docker Desktop で Experimental 機能が有効になっていて Linux Containers on Windows(LCOW)が使えてたから。

エンジンの Experimental 機能をオフにすると、Windows Containers 専用になります(WSL 2 のオプションのオン/オフは無関係)。



以上、メモでした。20H1 も Docker Desktop の WSL 2 対応もまだプレビュー段階なので話半分で。

2019/12/13 追記)Docker Desktop 2.1.7.0(Edge)に WSL INTEGRATION というのが追加され、WSL の Linux シェルで docker cli を使えるようになった。
→ Release Notes https://docs.docker.com/docker-for-windows/#docker-desktop-community-2170
"New
・Added the WSL Integration option in Settings > Resources to select WSL 2 distributions. This option will be visible only after enabling WSL 2 on your machine."

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。