Windows10 HOMEに WSL(Ubuntu) + Docker環境を構築する

2023/03/28に公開

この手の記事は無限に溢れていると思うので自分用に要点だけまとめます

基本的には以下のリンクを参照します
https://learn.microsoft.com/ja-jp/windows/wsl/install
https://learn.microsoft.com/ja-jp/windows/wsl/setup/environment

WSL

インストール

開発者としてPowershell / cmdを開き、以下のコマンドを実行します

wsl --install

インストール後、ターミナルにて再起動を促されたので再起動しました

デフォルトとしてUbuntuディストリビューションがインストールされます
ほかのディストリビューションを選択したい場合: wls --install -d

ユーザー名、パスワードを設定

スタートメニューからInstall RELEASE(Ubuntu)を選択

起動後すぐにユーザー名、パスワードを設定する必要があります
以下の入力を行います

  1. ユーザー名
  2. パスワード
  3. パスワード(確認)

VSCodeの拡張機能(任意)

VSCodeを使うことが多いため記載しておきます

WSLまわりの拡張機能について

前提として、VSCodeはインストール済みの想定です
参考
https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-vscode

  1. VSCode拡張機能のRemote Developmentをインストールします
  2. コマンドパレットにWSL: New WSL Windowと入力し、選択します
    すると新しいウィンドウでVSCodeが起動します(Linuxディストリビューションにリモート接続している状態)
  3. 拡張機能について

一部の拡張機能は、各 WSL ディストリビューションに個別にインストールする必要があります

とのこと。確認してみます

たしかにInstall in WSL: Ubuntu ⚠と表記があり、ディストリビューションごとにインストールしなければならない拡張機能があります
①のアイコンを選択することで、チェックボックスによる一括インストールが可能なようです

Docker

Docker Hubの登録をしなくてもイメージの検索と取得は可能です
以下を参照
https://learn.microsoft.com/ja-jp/windows/wsl/tutorials/wsl-containers

Docker Desktopのインストール

Docker参考
https://docs.docker.com/desktop/windows/wsl/#turn-on-docker-desktop-wsl-2

  1. 上記リンクよりインストーラーをダウンロードします

  2. スタートメニューからDocker Desktopを起動します

  3. 設定画面を開きます

  4. ディストリビューションの選択
    設定画面から Resources > WSL integration > Ubuntu > Apply & restart と選択していきます

  5. インストールの確認

 $ docker --version
Docker version 20.10.23, build 7155243

バージョンが確認できれば良いです

Docker起動確認

単純な組み込みの Docker イメージを実行して、インストールが正しく機能することをテストします。このとき、次を使用します。docker run hello-world

実行するとDocker公式イメージのhello-worldがpull, 実行されます
https://hub.docker.com/_/hello-world

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:ffb13da98453e0f04d33a6eee5bb8e46ee50d08ebe17735fc0779d0349e889e9
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/

以上です

Discussion