3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windows10 または Windows11 で WSL2 を使って Docker を動かす方法。

Last updated at Posted at 2023-02-17

今回は、 Docker Desktop を使わずに Windows で Docker 環境を構築してみました。
Windows10 または Windows11 で WSL2 をインストールして Docker を動かす方法を解説します。
どちらの OS も同じ手順でできます。

WSL2 と Ubuntu のインストール

WSL2 と Ubuntu をインストールしていきます。

WSL2 のインストール

PowerShell を管理者として起動し、下記のコマンドを実行します。

wsl --install

wsl_install.png

インストールが完了したら、画面の指示に従って再起動をします。
wsl_installed.png

Ubuntu のユーザー設定

画面の指示に従って、ユーザー名とパスワードを設定します。
rapture_20230216094345.png

アップデート

アップデートを行います。

sudo apt update
sudo apt -y upgrade
sudo apt -y autoremove

Docker

Docker 環境の構築をしていきます。

古いバージョンのアンインストール

古いバージョンの Docker を事前にアンインストールしておきます。

sudo apt remove docker docker-engine docker.io containerd runc

上記のコマンド実行時にパッケージがどれもインストールされていないと表示されても問題ありません。

Docker Engine のインストール

今回は、 apt リポジトリからインストールを行います。

パッケージのインストール

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

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

GPG キーの追加

Docker 公式の GPG キーを追加します。

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

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

リポジトリのセットアップを行います。

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 Engine のインストール前にパッケージのインデックスを更新しておきます。

sudo apt update

Docker Engine のインストール

今回は最新版の Docker Engine をインストールします。

sudo apt install \
    docker-ce \
    docker-ce-cli \
    containerd.io \
    docker-buildx-plugin \
    docker-compose-plugin

Docker のバージョン確認

Docker のバージョンを表示して、 Docker Engine のインストールが成功しているか確認します。
バージョンが表示されれば問題ありません。

docker -v

ユーザーを docker グループに追加

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

sudo usermod -aG docker <ユーザー名>

Docker デーモンの起動

Docker デーモンを起動します。

sudo service docker start

補足

構築中に発生したトラブルや補足などを参考までに書き留めておきます。

Hyper-V が有効になっていない場合

Hyper-V が有効になっていない場合は、PowerShell を管理者として起動し、下記のコマンドを実行します。

DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

DISM_1.png

インストールが完了したら、画面の指示に従って y ボタンを押下し、再起動します。
DISM_2.png

Cannot connect to the Docker daemon at ... と表示される場合

Docker デーモンが起動していないと、 Docker コマンド実行時に下記のような表示が出ます。

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

下記のコマンドで Docker デーモンを起動します。

sudo service docker start

WSL2 のシャットダウン

PowerShell で下記のコマンドを実行することで、Ubuntu のシャットダウンができます。

wsl --shutdown

CPU やメモリの制限を行いたい場合

事前に WSL2 で起動しているすべての WSL2 ディストリビューションを停止しておきます。

wsl --shutdown

次にファイルエクスプローラーで %UserProfile% を開き、 .wslconfig ファイルを作成します。
.wslconfig ファイルに各設定を記述します。

.wslconfig
[wsl2]
processors=2
memory=4GB

設定項目が多岐にわたるため、詳細は下記を参照してください。

Rancher Desktop

Rancher Desktop を利用して、 Docker コンテナを動かす方法を別の記事で公開しました。

参考文献

下記のサイトを参考にさせて頂きました。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?