Windows11 に WSL2 (Ubuntu)と Docker Desktop をサクッとインストールする方法

Docker

Windows11 Pro 環境に WSLとDocker Desktop をインストールしたときのメモです。

概要

Windows で Docker コンテナを使うときは、Docker Desktop を使用しています。
有償化や諸々の理由で、世間では Docker 離れが進んできているようですが、手っ取り早く検証をしたい場合にはやはり楽で便利です。

Windows10の場合は、WSLの環境構築にひと手間ありましたが、最近のWindows11ではサクッとインストールできるようなので、試してみたいと思います。

WSL2にUbuntu をインストールし、そこへ Docker Desktop を 統合するという手順となります。

試した環境

Windows 11 Pro (22H2)
OSビルド: 22621.1992
RAM: 32.0GB
CPU: 13th Gen Intel(R) Core(TM) i7-13700 2.10 GHz

Ubuntu 22.04 LTS (WSLのデフォルト版)

Docker Desktop 4.21.1 (114176)

WSL に Ubuntu をインストール する

Windows11 のターミナルから操作していきます。

何もしなくても wsl コマンドが使えます。

ヘルプを眺めてみると –install オプションで、Linuxサブシステムをインストールできることがわかります。便利ですね。

使用方法: wsl.exe [Argument]

引数:

    --install <Options>
        Linux 用 Windows サブシステムの機能をインストールします。オプションが指定されていない場合は、
        既定のディストリビューションと共に、推奨される機能がインストールされます。

        既定のディストリビューションおよびその他の有効なディストリビューションの一覧を表示するには、
        'wsl --list --online' を使用してください。

        オプション:
            --distribution, -d [Argument]
                ダウンロードしてインストールするディストリビューションを名前で指定します。

                引数:
                    有効なディストリビューションの名前 (大文字と小文字は区別されません)。

                例:
                    wsl --install -d Ubuntu
                    wsl --install --distribution Debian

            --inbox
                Microsoft Store で利用可能なバージョンではなく、オプションの Windows 機能をインストールします。

            --enable-wsl1
                Microsoft Store バージョンで WSL1 サポートを有効にします。

            --no-distribution
                ディストリビューションをインストールしません ( --distribution と一緒には使用できません)。

            --no-launch, -n
                インストール後にディストリビューションを起動しません。

            --web-download
                Microsoft Store ではなく、インターネットから WSL の最新バージョンをダウンロードします。

    --list, -l [Options]
        ディストリビューションを一覧表示します。

        オプション:
            --online, -o
                'wsl --install' でのインストールに利用できるディストリビューションの一覧を表示します。

    --status
        Linux 用 Windows サブシステムの状態を表示します。

    --help
        使用に関する情報を表示します。

リストオプションをつけてコマンドを実行すると、オンラインでインストールできるディストリビューションの一覧がみれます。既定の分布 とは デフォルトのディストリビューションということでしょう。Ubuntu のバージョン指定されていないものがデフォルトのようです。

PS C:\Users\washi> <span class="bold">wsl -l -o </span>
インストールできる有効なディストリビューションの一覧を次に示します。
既定の分布は ' * ' で表されます。
 'wsl --install -d <Distro>'を使用してインストールします。

  NAME                                   FRIENDLY NAME
* Ubuntu                                 Ubuntu
  Debian                                 Debian GNU/Linux
  kali-linux                             Kali Linux Rolling
  Ubuntu-18.04                           Ubuntu 18.04 LTS
  Ubuntu-20.04                           Ubuntu 20.04 LTS
  Ubuntu-22.04                           Ubuntu 22.04 LTS
  OracleLinux_7_9                        Oracle Linux 7.9
  OracleLinux_8_7                        Oracle Linux 8.7
  OracleLinux_9_1                        Oracle Linux 9.1
  openSUSE-Leap-15.5                     openSUSE Leap 15.5
  SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
  SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
  openSUSE-Tumbleweed                    openSUSE Tumbleweed

Ubuntu をインストールします。管理者権限での実行確認が表示されますが、あとは勝手にインストールしてくれます。

PS C:\Users\washi> <span class="bold">wsl --install -d Ubuntu</span>
要求された操作には管理者特権が必要です。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。

インストールが終了したら、 Windows を再起動します。

再起動後、自動的に Ubuntu が起動しました。初回起動で、Ubuntu で使用するユーザー名とパスワードを入力します。Ubuntu は 22.04 LTS がインストールされています。簡単ですね。

Docker Desktop をインストール する

Docker Desktop をインストールします。公式サイトからインストーラをダウンロードして実行するだけです。なので詳細は割愛します。

デフォルトで、WSL2 へのインテグレーションになっているのでそのまま進めていくだけ。こちらも簡単です。インストーラーの最後に “Close and Start” というボタンがでますが、クリックすると いきなり OSの再起動になりますのでご注意。

Hello コンテナ World を試してみる

再起動すると Docker Desktop が起動します。ライセンスの条項に合意すれば使用できるようになります。

念のため、コンテナの動作確認もしておきましょう。インストールした Ubuntu にはターミナルからアクセスできるようになっています。

docker コマンドもUbuntuから普通に使用できます。

オフィシャルイメージの Hello World を実行してみます。docker run コマンドを実行するだけで、イメージの pull もしてくれます。
https://hub.docker.com/_/hello-world

$ <span class="bold">docker run hello-world</span>
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete
Digest: sha256:926fac19d22aa2d60f1a276b66a20eb765fbeea2db5dbdaafeb456ad8ce81598
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/

こんな感じで、メッセージが確認できれば、OK です。

参考リンク

Windows 11 で WSL2 をセットアップしてみた
WSLの古いインストール方法が検索の最初のほうにでてきてしまうのが悲しみ。非推奨。

washi
washi

Windows11 は、WSLのインストールがサクッとできてうれしいですね。

Amazon.co.jp: ゲームウォッチ: ゲーム
ゲーム の優れたセレクションでオンラインショッピング。

コメント