【脱Docker Desktop】WSL2(ubuntu)+Docker Engineで無料運用する方法【スタートアップ起動完備】

今回紹介するテーマは「WSL2 + Docker Engineで無料運用する方法」です。

 最近、企業向けの「Docker Desktop」が条件を満たしてしまうと有料になってしまいました。個人だと基本的に無料利用できるのですが、会社で今まで無料だったものが突然有料化してしまったので「Docker Desktop」を使わずに、Windowsで運用する方法を見つけましたので紹介します。

目次

Docker Desktopの有料化について

  2021年9月に有料化し、2022年1月31日で、無料で使える猶予期間が終了してしまいました。
有料になる条件は、「250人以上」もしくは「年間売上1000万ドル以上の組織」で有料になります。

 料金等詳しい内容は以下の公式サイトでご確認下さい。

Docker
Pricing Docker licensing is always free for personal use. But what if your team or business wants to use Docker? Compare our pricing options and features.

WSL2のインストール

WSL2のインストールを行います。

Windows10 version 2004移行で「KB5004296」を適用済みの場合

 以下のコマンドを「PowerShell」または「コマンドプロンプト」の管理者権限で動かすだけでWSL2+ubuntuがインストール完了します。

wsl --install

このあとで再起動すると、ubuntuもインストールされます。

上記以外の場合

 上記以外の場合は、以下の2つのコマンドを「PowerShell」または「コマンドプロンプト」の管理者権限で実行します。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all

 次に、ubuntuをMicrosoft Storeからインストールします。

インストール後再起動します。

Linux カーネル更新プログラム パッケージをダウンロード

 次に以下から更新プログラム「wsl_update_x64.msi」をダウンロードしてインストールします。

あわせて読みたい

WSL2を規定のバージョンに設定する

 WSL2を規定のバージョンにします。

wsl --set-default-version 2

ubuntuにDocker Engineをインストールしていく

 公式ドキュメント通りにUbuntuにDocker Engineをインストールしていきます。

Dockerのインストールをする

 sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
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
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

sudo権限付与を付与する

sudo usermod -aG docker $USER

docker compose v2もインストールする

mkdir -p ~/.docker/cli-plugins/
 curl -SL https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
docker compose version

ここまで実行したらまた再起動します。

Dockerのスタートアップ起動をできるようにする

 WSLでは、systemdが使えないせいで通常のサービス起動ができません。
代わりに、Windows側からwslに対してserviceの起動を命令できるので、これを利用します。

以下のバッチを作成します。

@echo off
wsl -u root -- service docker start  * Starting Docker: docker

これをスタートアップにいれます。

「Windowsキー+R」 ファイル名を指定して実行を起動して

shell:startup

でここにバッチファイルを置きます。

 これで、windows起動時にdockerサービスが起動できるようになります。
バッチを管理者として実行することで手動でもサービス起動されることができます。

以上、で設定完了です。

まとめ

今回、「WSL2 + Docker Engineで無料運用する方法」を紹介しました。

  • WSL2のインストール方法
  • ubuntuのインストール方法
  • dockerのインストール方法
  • docker composeのインストール方法
  • dockerの初回サービス起動

 WSL2だと普段のubuntuでできることができなかったりするので、私と同じようにつまづいた方の助けになれば良いなと思いこの記事を書きました。

 今回の記事が、皆さんの技術力向上につながると嬉しいです。
以上、おつかれさまでした!

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