Docker Desktop for WindowsをLinux(WSL)で操作


概要

WindowsにインストールしたDocker DesktopをWindowsにインストールしたLinux ディストリビューション(Ubuntu)で利用するためのセットアップ手順をメモ

さっくりまとめると、
なんらかのLinux ディストリビューションをインストールしたら
Docker Desktop の設定で WSL の統合を有効化するだけ

Linux ディストリビューション(Ubuntu)のインストール

基本以下を見ればOK
Windows 10 用 Windows Subsystem for Linux のインストール ガイド

手順4までは、すでにDocker Desktopのセットアップを行っていれば、その際に実施済みのはず

手順 5 - WSL 2を既定のバージョンとして設定する

PowerShellでコマンド実行
wsl --set-default-version 2

メモ:WSL1とWSL2の違いについて1

手順 6 - 選択した Linux ディストリビューションをインストールする

今回はUbuntu 20.04 LTSをインストール

Ubuntuを起動

初回起動時はusernameとpasswordを聞かれるので、任意の名前とパスワードを入力すればそのまま登録される
新しい Linux ディストリビューションのユーザー アカウントとパスワードを作成する

パッケージの更新とアップグレード

とりあえず、お約束
sudo apt update && sudo apt upgrade

dockerコマンド打ったら通らない、、、

満を持してWindows上のLinuxからdockerコマンド実行したが、期待した動きではないような、、

$ docker --version

The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.

See https://docs.docker.com/docker-for-windows/wsl/ for details.

Docker Desktopの設定をしてねという事らしい

Docker Desktop の設定で WSL の統合を有効化

DockerのSettings > Resources > WSL INTEGRATION でインストールしたLinuxディストリビューションへの統合を有効化

アプリを再起動

統合を有効化したら、Ubuntuアプリを再起動して改めてdockerコマンド実行したらdockerコマンド実行OK

$ docker --version
Docker version 19.03.13, build 4484c46d9d

これで、晴れてWindows上のDockerをWindows上のLinuxから操作できる

メモ


  1. WSL1とWSL2の違いについて WSL 1 と WSL 2 の比較の機能比較によるとWSL2は完全なLinuxカーネルとシステムコールの完全な互換性があり、WSL1と比較してzipファイルの展開が最大20倍早いとのこと、WindowsとLinux間でファイルのやり取りをする必要がある場合WSL1を利用するとよい場合もある模様