windows環境でdockerのインストール方法を解説します。
dockerは開発環境を構築するのに優秀ですので、
やっておいて損はない方法だと思います。

使用するバージョン

windows10/11
wsl2
docker 20.10.14

wsl2をインストールする

wsl2はwindows環境でlinuxが実行できる環境です。
今までは仮想環境にlinuxを使う方法がありましたが、
それよりも簡単にlinuxが実行できるようになっています。

スタートを右クリックでPowerShell(管理者)を起動します。
以下のコマンドを入力します。

wsl --install

実行すると再起動をするように表示されるので再起動をします。
再起動するとubuntuが自動で起動されます。

ユーザー名とパスワードを入力するように要求されますので、
入力をすればubuntuがの設定は完了します。

PowerShellから以下のコマンドを実行します。

wsl

ubuntuにログインできます。
ここからはubuntuでの作業になります。

dockerのインストール

dockerは公式にあるドキュメント通りにコマンドを入力していけばインストールできます。

最初にdockerに必要なパッケージをインストールします。

sudo apt update

sudo apt install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

aptでインストールできるように、dockerのパッケージリポジトリをaptに追加

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

echo \
  "deb [arch=amd64 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のインストール

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

docker-composeのインストール

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

これでインストール完了です。
dockerの起動は以下で行えます。

sudo service docker start

これでdockerが使えるようになります。

dockerを自動起動できるようにする

このままだとPCの電源を落とすたびにdockerが停止しますので、
PC起動時にdockerが起動するように設定します。

wsl2で動作するubuntuはサーバーで動作するものと挙動が違います。実際にはsystemctlを使っての自動起動ができなくてなっています。
そのため、wsl2上で自動起動させるにはPCを起動させるときに、
スタートアップから起動させるのが手っ取り早いです。

パスワードなしでdockerを起動させるようにする

sudo vi /etc/sudoers

一番下に以下を追加し、保存します。
ubuntu ALL=NOPASSWD: /usr/sbin/service docker start, /usr/sbin/service docker stop, /usr/sbin/service docker restart

こちらの例ではubuntuユーザーに対してdockerの起動コマンドをパスワードなしで入力できるようにしています。各環境に合わせてユーザー名を変更してください。

ここからはウィンドウズの作業です。
エディタからbatファイルを以下の内容で新規で作成します。

docker.bat
wsl /bin/bash -l -c "sudo service docker start"

winキー+rよりファイル名を指定して実行から以下を入力します。
shell:startup

入力をするとエクスプローラーのスタートアップに移動します。

docker.batを保存するとPC起動時に実行されます。