1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windows で WSL2(Ubuntu) を使ってDocker 開発環境を作る

Posted at

この手の記事はn番煎じですが、なんぼあってもいいですからね。

なんでそんなもの使うの

Windows には WSL (Windows Subsystem for Linux) という Windows 上で動く Linux が乗っています。これが 2020 年にバージョンアップし、 WSL2 になったことで Windows で Docker をつかった開発がとってもやりやすくなりました。まだまだ痒いところに手が届くと言った面では足りないところもありますが、業務で利用するには十分使えるようになってきてます。

Windows で Docker を使おうとすると、これまでは Windows の上に仮想環境(Hyper-V)がのってその上に Dokcer エンジンが動いて、という構造だったので、パフォーマンスが悪い、VirtualBox と併用できないなどの弊害がありました。これが WSL2 になって仮想環境を介さず WSL2 上で直接 Docker エンジンが動くようになって、デメリットがなくなりました!

さっそく、使ってみましょう。

WSL2 を有効化する

参考にした文書はこちら
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10#update-to-wsl-2

「Linux 用 Windows サブシステム」オプション機能を有効にする

管理者として PowerShell を開き、以下を実行します。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

PCを再起動します。

「仮想マシン プラットフォーム」オプション機能を有効にする

管理者として PowerShell を開き、以下を実行します。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

PCを再起動します。

WSL2 をデフォルトにする

管理者として PowerShell を開き、以下を実行します。

wsl --set-default-version 2

Linuxディストリビューションを選択しインストール

Microsoft Store を開き、Ubuntu をインストールします。バージョンが書かれていないものを選ぶと最新が入ります(今回は 20.04 がインストールされました)

SnapCrab_NoName_2021-2-5_12-4-44_No-00.png

初期設定

もうインストールは終わりました。他のWindowsアプリケーションと同じようにターミナルが起動できます。初期ユーザ/パスワードを設定し、ライブラリのアップデートをしておきましょう。

sudo apt update
sudo apt upgrade -y

Dockerのインストール

こうしきからもってきます
https://hub.docker.com/editions/community/docker-ce-desktop-windows

インストール中に WSL2 サポートを使うか聞かれるのでON
2020-07-31-050213.png

ここを設定しておきます
SnapCrab_NoName_2021-2-5_12-42-38_No-00.png
SnapCrab_NoName_2021-2-5_12-42-18_No-00.png

wsl -l -vコマンドを打って動いているかどうか確認しましょう。

PS C:\Users\user> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  Ubuntu                 Running         2
  docker-desktop         Running         2

三つ出てきましたが、

  • docker-desktop:Dockerを動かすためのエンジン
  • docker-desktop-data:イメージなどの格納先

どちらも WSL の環境のようです。僕の環境だと先に Docker が入っていたせいか、WSL の規定が Docker 仮想環境になってしまっていたので、wsl -s コマンドで Ubuntu のほうにかえておきます。

PS C:\Users\user> wsl -s Ubuntu
PS C:\Users\user> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2
  docker-desktop-data    Running         2
  docker-desktop         Running         2

Visual Studio Code の環境を作る

Visual Studio Code はすでにインストールされている者とします。 Remote WSL
という拡張
をインストールします。

Ubuntu 側に入ります。
プロジェクト用のディレクトリなどを適当に掘って

code .

で起動すると、Windows 側で WSL 内のディレクトリが初期で開かれた状態になります。

大事なこと

WSL2で作成されたファイルなどはWindowsローカルに置かれますが、こちらをいじってはいけません。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?