LoginSignup
2
1

More than 1 year has passed since last update.

WSL(Ubuntu)上でDockerをWindowsで動かす方法と注意点

Last updated at Posted at 2022-04-10

WSL2のUbuntuをWIndows10に導入する時に躓いたので, 備忘録として対処法などを書き残しておきます.
DockerをWSL上で動かそうとしたらめちゃめちゃ苦戦したので.

WSLの有効化

「windowsの機能の有効化または無効化」から, 「Linux用Windowsサブシステム」「仮想マシン プラットフォーム」にチェックを入れてOK.

デフォルトWSL1が入ってしまう問題の回避

罠だと思います. 2022年4月現在のWSLでは, デフォルトでWSL1が動作するようになっているようです. Dockerを動かすためにはどうやら仮想化のナントカが影響しており, WSL2でないと動作しないようです.
まずはWSL2を使うためのカーネル更新パッケージをこちらからインストールします.

最後にコマンドプロンプトでwsl2を使うように設定をします.

$ wsl --set-default-version 2

Ubuntuのインストール

以下のコマンドで利用可能なLinuxの一覧を確認します.

$ wsl --list --online

次に, 欲しいディストーションをインストールします.

$ wsl --install -d <ディストリビューション名>

私はUbuntuを導入したかったので, $ wsl --install -d Ubuntuを実行しました.

確認

念の為, WSL2でUbuntuが使えるようになったか確認しましょう.

$ wsl -l -v

ここでVERSIONが2になっていたら成功です.
もし1になっていたら, 次のコマンドで2に変換できるようです. <ディストリビューション名>の部分は, 上のコマンドの出力に合わせます.

$ wsl --set-version <ディストリビューション名> 2

WSL2のUbuntuの起動

左下の検索窓でUbuntu等, 先程インストールしたディストリビューションを検索すると出てきます.
初回起動時は, Linuxで使うローカルアカウントの作成があります. 適当にユーザー名とパスワードを設定しましょう.
ちなみにWSLでは, Ubuntuの画面を閉じるだけでは再起動せず, かつ, $ sudo reboot等も使えないようです. 設定の反映等でUbuntuの再起動が必要な時はコマンドプロンプト等で$ wsl -t <ディストリビューション名>で終了する必要があります.

Dockerの導入

こちらの手順に従って導入しました.

dockerのdaemonの起動が必要なので, ディストリビューションのターミナル内で$ sudo service docker startを実行します.

参考

https://codezine.jp/article/detail/14646
http://docs.docker.jp/engine/articles/systemd.html

2
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
2
1