Windows 11 で WSL2 (Ubuntu) + docker compose v2 環境構築

docker

Windows11に WSL2 (Ubuntu) をインストールし、WSL2 の Ubuntu に docker 及び docker compose 環境を構築するための手順です。
WindowsにDocker for Desktop をインストールするのではなく、WSL2 の Ubuntu に Docker 及び Docker Compose v2 をインストールします。

目次

Windows11へWSL2インストール

Windows マシン上に WSL2 をインストールします。 Windows と Linux の両方の機能に同時にアクセス可能です。
つまり、Windows をいつも通り使用しつつ そのWindows 上で Linux を動作・使用できます。

PowerShellを管理者として実行

インストールできる有効なディストリビューション確認

PS C:\WINDOWS\system32> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
既定の分布は ' * ' で表されます。
 '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
  SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
  openSUSE-Leap-15.4                     openSUSE Leap 15.4
  openSUSE-Tumbleweed                    openSUSE Tumbleweed

WSL2 (Ubuntu) インストール

※参考:WSL のインストール

PS C:\WINDOWS\system32> wsl --install
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。

案内に従って、PC再起動します。

※LINUXディストリビューションを変更したい人は以下

> wsl --install -d <Distribution Name>

Ubuntu のユーザ名とパスワードを設定する

PCを再起動すると、Ubuntuが自動で起動しますので、ユーザ名とパスワードを設定します。
※このユーザアカウントは、Windowsのアカウントは無関係になります。

※もし Ubuntu が自動起動しなければ、[スタート] メニューから Ubuntu を開いてください。
Ubuntu を開くだけでユーザ名とパスワードを作成するための入力が求められます。

※以降、基本的にUbuntuでの操作を記載します。

Ubuntu のパッケージの更新とアップグレード

$ sudo apt update -y && sudo apt upgrade -y

Ubuntu へ Docker Engine インストール

参考:Docker Engine インストール

上記参考ページでおすすめされている「リポジトリを利用したインストール」を行います。

リポジトリのセットアップ

Docker Engine を初めてインストールする際は、まず初めに Docker リポジトリをセットアップしておく必要があります。 これを行った後に、リポジトリからの Docker のインストールやアップグレードが行えるようになります。

aptのパッケージインデックスを更新

aptのパッケージインデックスを更新します。 そしてaptが HTTPS 経由でリポジトリにアクセスしパッケージをインストールできるようにします。

$ sudo apt-get update
$ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Docker の公式 GPG 鍵を追加

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ ls -l /usr/share/keyrings/docker-archive-keyring.gpg

リポジトリをセットアップ

以下のコマンドを使って安定版(stable)リポジトリをセットアップします。 

$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker Engine のインストール

再度aptのパッケージインデックスを更新し、Docker Engine、containerd、Docker Compose の最新版をインストールします。

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

※docker compose もインストールしています。

Docker を起動

dockerの状態を確認し、not runningの場合は起動します。

$ service docker status
$ sudo service docker start

ログインユーザを docker グループへ追加

今のままだとsudoなしにはdockerコマンドを実行できないため、
ログインしているユーザをdockerグループに追加します。

以下のファイルにアクセスできないため、ユーザをdockerグループに追加して、アクセスできるようにしてあげる必要があります。

$ ls -l /var/run/docker.sock
srw-rw---- 1 root docker 0 Jun 14 01:31 /var/run/docker.sock

ログインユーザをdockerグループに追加します。

$ sudo usermod -aG docker $USER

ログインし直して(exitして再度Ubuntuにログイン)、以下でグループに「999(docker)」が追加されたことを確認します。

$ id

Ubuntu へ Docker Compose v2 インストール

上記までの手順で docker をインストールすると、既に docker compose が使えるようになっています。
以下を実行してバージョンが表示されれば問題ありません。

$ docker compose version
Docker Compose version v2.18.1

※docker compose v2になり、コマンドライン構文が「docker-compose」から「docker compose」に変更になっています。
以前からのdocker-composeユーザは戸惑うかもしれません。
参考:https://docs.docker.com/compose/migrate/

ついでにインストール

【ついでに】Windows ターミナルをインストール

個人的に便利だと思うので Windows ターミナル を使ってます。

参考:https://learn.microsoft.com/ja-jp/windows/terminal/install

以下リンクから Windows ターミナル をインストールします。
https://aka.ms/terminal

Windows ターミナル

【ついでに】Ubuntu へ Git インストール

必要に応じてGitのインストールを行います。

Git インストール

$ sudo apt update
$ sudo apt-get install git

Git 構成ファイルのセットアップ

$ git config --global user.name "Your Name"
$ git config --global user.email "youremail@domain.com"

以上で、WSL2 での docker-compose 環境構築手順完了になります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

文系の大学を卒業後、未経験でWebエンジニアとしての道を歩む。
プログラミングスクールで基礎を学び、Webエンジニアとして就職。
今ではプロジェクト経験15年以上のベテランエンジニアに。
 
今までの経験を活かし、プログラミング関連の情報や生活に役立つ情報を配信していきます。

コメント

コメント一覧 (1件)

コメントする

目次