🔥
Windows 11 で docker を動かす
今回は、Windows 11で wsl2 がコマンドで簡単にインストールできるようになったので、さっとインストールして、Ubuntuを起動、そこでdockerを動かすまでの手順をまとめます。
WSLとは
Windows Subsystem for Linux の略で、Windows 上で Ubuntu などの Linux ディストリビューションを実行する機能である。
実行環境
- エディション:Windows 11 Pro
- バージョン:23H2
- OSビルド:22631.4317
インストール手順
-
windowsの検索で
terminal
と入力し、terminalを起動する。デフォルトでPowerShellが起動する。
-
Windows 11 に wsl2 をインストールする。
> wsl --status
既定のバージョン: 2
Linux 用 Windows サブシステム カーネルは、'wsl --update' を使用して手動で更新できますが、システム設定が原因で自動更新が 発生することはありません。
カーネルの自動更新を受け取るには、 Windows Update の設定を有効にしてください:' Windowsの更新に、その他のMicrosoftの製品 の更新情報を受け取る'。
詳細については、 https://aka.ms/wsl2kernel.
を参照してください
WSL 2 カーネル ファイルが見つかりません。カーネルを更新または復元するには、'wsl.exe --update' を実行してください。
> wsl --update
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
- インストール可能なディストリビューションを確認する。
PS C:\Users\soshi> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <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
Ubuntu-24.04 Ubuntu 24.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.6 openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed openSUSE Tumbleweed
- ここではデフォルトのUbuntuをインストールする。
> wsl --install Ubuntu
インストール中: Ubuntu
Ubuntu がインストールされました。
Ubuntu を起動しています...
Installing, this may take a few minutes...
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: XXXX #ユーザ名を入力。
New password: #パスワードを入力
Retype new password: #パスワードを入力
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 5.15.153.1-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Wed Nov 6 14:16:57 JST 2024
System load: 0.36 Processes: 30
Usage of /: 0.1% of 1006.85GB Users logged in: 0
Memory usage: 12% IPv4 address for eth0: 172.30.51.26
Swap usage: 0%
This message is shown once a day. To disable it please create the
/home/XXX/.hushlogin file.
- そうすると、Ubuntuのterminalとなるので、そのままOSのバージョンを確認してみる。
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
-
一旦、terminalを再起動すると、新規タブを開くメニューで、
Ubuntu
が追加されていることがわかる。
-
Ubuntu
を選択すると、Ubuntuのterminalが開く。
-
パッケージリストの更新
$ sudo apt-get update
Get:1 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease
Get:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
...
Fetched 30.5 MB in 9s (3375 kB/s)
Reading package lists... Done
- パッケージのアップグレード
$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
binutils binutils-common binutils-x86-64-linux-gnu cloud-init distro-info-data gcc-14-base gtk-update-icon-cache libbinutils libctf-nobfd0 libctf0
libegl-mesa0 libgbm1 libgcc-s1 libgl1-mesa-dri libglapi-mesa libglx-mesa0 libgprofng0 libgtk-3-0t64 libgtk-3-bin libgtk-3-common libproc2-0 libsframe1
libstdc++6 login mesa-vulkan-drivers nano passwd procps python3-update-manager python3-urllib3 snapd update-manager-core vim vim-common vim-runtime
vim-tiny xxd
37 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 71.9 MB of archives.
After this operation, 2038 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 login amd64 1:4.13+dfsg1-4ubuntu3.2 [202 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 gcc-14-base amd64 14.2.0-4ubuntu2~24.04 [50.8 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libstdc++6 amd64 14.2.0-4ubuntu2~24.04 [791 kB]
Get:4 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcc-s1 amd64 14.2.0-4ubuntu2~24.04 [78.6 kB]
Get:5 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 passwd amd64 1:4.13+dfsg1-4ubuntu3.2 [845 kB]
Get:6 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libproc2-0 amd64 2:4.0.4-4ubuntu3.2 [59.5 kB]
Get:7 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 procps amd64 2:4.0.4-4ubuntu3.2 [707 kB]
...
- 公式のGPGキーを保存するディレクトリを作成する。
$ sudo mkdir -p /etc/apt/keyrings
- 公式のGPGキーを取得する。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- この時点で改めてパッケージリストを更新する。
$ sudo apt-get update
- 公式のDockerリポジトリを追加する。
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- docker インストール
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- sudo権限なしでdockerを実行できるようにするために以下を実行
$ sudo usermod -aG docker $USER
$ su - ${USER}
- 動作確認
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
コマンド自体は成功した。
Discussion