WSL2(Ubuntu)にDockerをインストールする方法!

WSL2(Ubuntu)にDockerをインストールする方法!
悩んでいる人

WSL2(Ubuntu)にDockerをインストールしたいんだけど、やり方が分からないんだよね。。

こんな疑問にお答えします。

  • 本記事の内容
  • 本記事の信頼性
プロフィール
  • フリーランスエンジニア(保有資格約20個)
  • ブログ・アフィリエイト歴5年
  • ブランドせどりで月利50万円⇨脱サラ
  • Twitterフォロワー約2,000人
いずみん

本記事を書いている僕はエンジニア歴7年のフリーランスエンジニアで、IT系資格は個保有しています。
WSL2やDockerは普段から使用しているので、かなり有益な情報を発信できるかと思います。

結論、WSL2(Ubuntu)にDockerをインストールする方法は分かってしまえば非常に簡単です。

WSL2(Ubuntu)を利用すれば、Linux環境でDockerを使用できるのでかなり便利です。

PCに直接Dockerをインストールしたくない場合におすすめです。

本記事を読んでいただければ、WSL2(Ubuntu)にDockerをインストールする方法がしっかりと理解できるので早速見ていきましょう!

いずみん

サクッと読み終わるので、是非最後まで読んでみてください!

目次

WSLとは

WSL(Windows Subsystem for Linux)は、Windows10以降で使えるWindows上のLinux環境です。

WindowsでLinux環境を使用できるので、わざわざ環境構築する必要がありません。

また、LinuxOSはMicrosoftストアで無料提供されているので簡単に入手できます。

いずみん

Linux環境って使う機会が多いので、僕もかなり重宝してます。

WSL1とWSL2の違い

WSLにはWSL1WSL2の2種類があります。

WSL2はWSL1の上位互換で、WSL1では使用できなかったDockerなどにも対応しています。

WSL1WSL2
2016年にリリース
LXCoreを使用
2019年にリリース
WSL1を大幅に改善
Linuxカーネルを搭載
DockerやFUSEも使用可能

WSL2のインストールに必要な前提条件

結論、以下の条件を満たしていればWSL2のインストールは可能です。

  • Windows10(64bit版)以降 ※32bit版は不可
  • x64システムの場合は、バージョンが1903以降でビルドが18362以上である
  • ARM64システムの場合は、バージョンが2004以降でビルドが19041以上である
  • Hyper-Vに対応している

Windowsのバージョンとビルドは、「システム」⇒「詳細情報」から確認できます。

また、Hyper-Vに対応していないとWSL2は使用できません。

なぜWSL2にDockerをインストールするのか?

結論、WSL2を利用することでPC自体ににDockerをインストールしなくて済むからです。

WindowsであればDocker for Windowsが用意されていますが、速度が遅いなどの難点があります。

PC自体にDockerをインストールしたくない場合や、Linuxでサクサク快適にDockerを使用したい場合にWSL2はおすすめです。

WSL2にDockerをインストールする方法

では早速、WSL2にDockerをインストールする方法を解説します。

WSL2(Ubuntu)のインストール

まずは、WSL2(Ubuntu)のインストールを行います。

STEP
コマンドプロンプトを管理者権限で開く

コマンドプロンプトを管理者権限で開きます。

STEP
WSLのインストール
$ wsl --install

WSLをインストールします。

インストール完了後、PCを再起動しましょう。

STEP
インストール可能なディストリビューションの確認
$ wsl --list --online

インストールできる有効なディストリビューションの一覧を次に示します。
既定の分布は ' * ' で表されます。
 'wsl --install -d <Distro>'を使用してインストールします。

  NAME            FRIENDLY NAME
* Ubuntu          Ubuntu
  Debian          Debian GNU/Linux
  kali-linux      Kali Linux Rolling
  openSUSE-42     openSUSE Leap 42
  SLES-12         SUSE Linux Enterprise Server v12
  Ubuntu-16.04    Ubuntu 16.04 LTS
  Ubuntu-18.04    Ubuntu 18.04 LTS
  Ubuntu-20.04    Ubuntu 20.04 LTS

インストール可能なディストリビューションを確認します。

今回は、Ubuntu20.04をインストールします。

STEP
Ubuntuのインストール
$ wsl --install -d Ubuntu-20.04

Ubuntuをインストールします。

インストール完了後、Ubuntuが立ち上がるので任意のユーザ名パスワードを入力します。

STEP
インストールの確認
$ wsl -l -v

  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  Ubuntu-20.04    Running         2

インストールの確認をします。

STEP
Ubuntu20.04をデフォルトに設定
$ wsl --set-default Ubuntu-20.04


# 再度確認
$ wsl -l -v

  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2
  Ubuntu          Stopped         2

Ubuntu20.04をデフォルトに設定します。

STEP
デフォルトユーザの変更
$ ubuntu2004 config --default-user root

デフォルトユーザをrootに変更します。

いずみん

やらなくてもOKですが、デフォルトがrootユーザだと色々楽です(笑)。

WSL2にDockerをインストール

次に、WSL2にDockerをインストールします。

STEP
古いDockerを削除
$ apt-get remove docker docker-engine docker.io containerd runc

古いDockerを削除します。

STEP
パッケージの更新&インストール
$ apt-get update

$ apt-get install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

パッケージの更新&インストールを行います。

STEP
Dockerの公式GPGキーを追加
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Dockerの公式GPGキーを追加します。

STEP
stableのリポジトリを追加
$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

stableのリポジトリを追加します。

STEP
パッケージを再度更新
$ apt-get update

パッケージを再度更新します。

STEP
Dockerのインストール
$ apt-get install -y docker-ce docker-ce-cli containerd.io

Dockerをインストールします。

STEP
Dockerの起動
$ service docker start

Dockerを起動します。

STEP
Dockerの実行
$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:e18f0a777aefabe047a671ab3ec3eed05414477c951ab1a6f352a06974245fe7
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Dockerイメージのhello-worldを実行し、↑のような実行結果になればOKです。

STEP
Docker Composeのインストール
$ curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Docker Composeをインストールします。

STEP
Docker Composeの権限を変更
$ chmod +x /usr/local/bin/docker-compose

Docker Composeの権限を変更します。

上記コマンドを実行しないとdocker-composeコマンドでパーミッションエラーが発生します。

STEP
Docker Composeのインストール確認
$ docker-compose -v

docker-compose version 1.29.2, build 5becea4c

インストールが確認できればOKです。

Dockerの自動起動

本手順は任意ですが、Dockerを自動起動させると楽なので解説しておきます。

STEP
.bashrcを開く
$ vi ~/.bashrc

.bashrcを開きます。

STEP
自動起動の設定
if test $(service docker status | awk '{print $4}') = 'not'; then
        sudo /usr/sbin/service docker start
fi

↑のコードを.bashrcの最後に追記すればOKです。

よくある質問 | WSL2(Ubuntu)にDockerをインストールする方法

WSLとは何ですか?

Windows10以降で使えるWindows上のLinux環境です。

WSL1とWSL2の違いは何ですか?

WSL2はWSL1の性能を大幅に改善したバージョンで、Dockerなどにも対応しています。

WSL2を使うメリットは何ですか?

Linux環境に各種ツールをインストールできるので、PC自体にツールをインストールする必要がありません。

また、Linux環境を簡単に利用できるのも大きなメリットです。

エクスプローラーでUbuntu内のファイルは見れますか?

エクスプローラーで「\\wsl$」と入力すれば見れます。

WSL2でメモリが枯渇する場合はどうすればよいですか?

【Docker】Unhealthyの原因を解説!メモリ不足かも!」で解説しているので見てください。

まとめ | WSL2(Ubuntu)にDockerをインストールする方法

今回は、WSL2(Ubuntu)にDockerをインストールする方法について解説しました。

以下が本記事のまとめになります。

まとめ
  • WSLはWindows10以降で使えるWindows上のLinux環境。
  • WSL2はWSL1の性能を大幅に改善したバージョンで、Dockerなどにも対応している。
  • WSL2を使えばLinux環境を簡単に利用できる。

この記事があなたのお役に立てば幸いです。

サイト内には、他にも初心者向けの記事を多く投稿していますので良ければ参考にしてみてください。

最後までお読みいただきありがとうございました!

WSL2(Ubuntu)にDockerをインストールする方法!

この記事が気に入ったら
フォローしてね!

シェアしてね!
  • URLをコピーしました!
目次