🐋
Win11+WSL2+Docker:環境構築
前提条件
- 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