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

当ページのリンクには広告が含まれています。
いずみ

こんな悩みを解決できる記事を書きました!

僕は現役フリーランスエンジニア(歴年)で、資格は個保有しています。

結論、WSL2(Ubuntu)にDockerをインストールする方法は非常に簡単です。

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

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

本記事を読めば、WSL2(Ubuntu)にDockerをインストールする方法が理解できるので早速見ていきましょう!

いずみ

サクッと読み終わるので、ぜひ最後まで読んでくださいね♪

執筆者/監修者
  • フリーランスエンジニア(保有資格個)
  • ブログ・アフィリエイト歴5年
  • ブランドせどりで月利50万円⇨脱サラ
  • 投資歴5年(仮想通貨・FXが得意)
  • Twitterフォロワー約2,000人
  • 運営者情報はこちら
いずみです
目次

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です。

よくある質問

WSLとは何ですか?

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

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

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

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

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

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

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

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

まとめ

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

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

まとめ
  • WSLはWindows10以降で使えるWindows上のLinux環境。
  • WSL2はWSL1の性能を大幅に改善したバージョンで、Dockerなどにも対応している。
  • WSL2を使えばLinux環境を簡単に利用できる。
まとめ♪
  • おすすめ本
¥3,718 (2023/07/24 10:45時点 | Amazon調べ)

Dockerの勉強なら「」が分かりやすくておすすめですよ♪

いずみ

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

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

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