🐋

Win11+WSL2+Docker:環境構築

2025/01/05に公開

前提条件

  • WindowsOS:11
  • 本手順は以下のツールを用いて環境構築を実施
    • Docker Desktop for Windows:4.36.0
    • wls:2.3.26.0

手順

WSL2インストール

  • コマンドプロンプトにて以下コマンドを実行
// wslのインストール
wsl --install
// wslインストール後確認
wsl -v
実行結果
WSL バージョン: 2.3.26.0
カーネル バージョン: 5.15.167.4-1
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5620
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.22631.4602

Windows機能の有効化

  • コントロールパネル > プログラム > プログラムと機能 > Windowsの機能の有効化または無効化より以下2点にチェックを入れOKを押下後、PCを再起動
    • Linux用Windowsサブシステム
    • 仮想マシン プラットフォーム

Ubuntuの初期設定

  • Ubuntuのユーザーアカウントを以下のように設定
// UNIXのユーザーアカウントを作成するようメッセージが表示
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
// 新しく作成するユーザー名を入力
Enter new UNIX username
// パスワードを入力
New password
// 同じパスワードをもう一度入力
Retype new password
実行結果
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)
  • 以下コマンドを実行し、ユーザーの設定確認
whoami
実行結果
{ユーザーアカウント名}

wslの設定確認

  • コマンドプロンプトにて以下コマンドを実行
// wslに紐づくディストリビューションを確認
wsl -l -v
実行結果
  NAME      STATE           VERSION
* Ubuntu    Running         2

Docker Desktop for Windowsのインストール

  • 以下リンクをクリック

  • Download Docker Desktopから「Download for Windows - AMD64」をクリック

  • ダウンロードした「Docker Desktop Installer.exe」をダブルクリックで起動

  • インストール中

  • インストール完了後「Close and log out」をクリックして再起動

  • 「Accept」をクリック

  • 「Personal」タブを選択し、認証(Email/Google/GitHub/Dockerアカウント)

  • (Github認証の場合)必要事項を記入し、「Sign in」をクリック

  • 内容を確認し、「Authorize Docker Inc」をクリック

  • ユーザー名を入力し、「Sign up」をクリック(Docker Desktopにリダイレクトされる)

  • Docker Desktopを開き、以下の画面が表示されればインストール成功!

Dockerのインストール後疎通確認

  • コマンドプロンプト・Ubuntu・wslにて以下コマンドを実行し、以下の実行結果が出力されれば成功!
// Dockerのバージョン確認
docker -v
実行結果
Docker version 27.3.1, build ce12230

Tips

docker hub使用方法

  • 公式のdockerイメージを検索する
キーワード:nginx
docker search {キーワード} --filter is-official=true
実行結果
NAME      DESCRIPTION                STARS     OFFICIAL
nginx     Official build of Nginx.   20493     [OK]
  • イメージを取得する
キーワード:nginx
docker image pull {キーワード}
実行結果
Using default tag: latest
latest: Pulling from library/nginx
・・・中略・・・
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
  • 取得したイメージの確認
docker image ls
実行結果
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    42e917aaa1b5   5 weeks ago   278MB
  • DockerDesktop > imagesにてnginxイメージが取得できていることを確認
  • イメージを実行し、コンテナを起動
// docker container run:Dockerイメージを実行
// -d:Dockerコンテナをバックグラウンドで実行
// -p 8080:80:ホスト側のポート番号(8080)と、Docker側のポート番号(80)を紐づける
// –name nginx:コンテナに「nginx」というコンテナ名を付与する
docker container run -d -p 8080:80 --name nginx nginx
  • コンテナの稼働状況を確認
docker ps
実行結果
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                  NAMES
90bbb43dd87c   nginx     "/docker-entrypoint.…"   6 minutes ago   Up 6 minutes   0.0.0.0:8080->80/tcp   nginx
  • DockerDesktop > Containerにてnginxコンテナが立ち上がっていることを確認
  • ブラウザにてリンクを開き、以下の画面が表示されれば成功
  • (補足)コンテナのIPアドレスを取得
CONTAINER ID:90bbb43dd87c
docker inspect {CONTAINER ID} | grep IPAddress
実行結果
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
        "IPAddress": "172.17.0.2",
  • コンテナの停止
// nginxコンテナを停止
docker container stop nginx
// コンテナの稼働状況を確認
docker ps
実行結果
// nginxコンテナが停止されたたため表示されない
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
  • コンテナの起動
// nginxコンテナを停止
docker container start nginx
// コンテナの稼働状況を確認
docker ps
実行結果
// nginxコンテナが表示される
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS                  NAMES
90bbb43dd87c   nginx     "/docker-entrypoint.…"   26 minutes ago   Up 2 seconds   0.0.0.0:8080->80/tcp   nginx

参考サイト

Discussion