WindowsでDocker Engineをインストールする
WindowsでDocker Engineをインストールします。
WindowsではDockerを導入する際Docker Desktop for Windowsを使用することが普通ですが、今回はWSLを使ってDocker Engineをインストールしてみます。
環境
- Windows 10 64ビット
インストールの流れ
以下のページを参考にしています。
1. WSLとUbuntuをインストールする
WSLとUbuntuのインストールについてはこちらをご覧ください。
Ubuntuを起動するWSLのバージョンが1の場合、2に変更します。
wsl -l
でインストールしたLinuxディストリビューションの一覧が見れます。v
オプションを付けると、ディストリビューションを起動するWSLのバージョンを確認できます。
コマンドプロンプトかPowerShellを開き、以下を実行します。
> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 1
WSLのバージョンが1の場合、2に変更します。以下を実行します。
wsl --set-version Ubuntu 2
2. Docker Engineをインストールする
Docker Engineをインストールします。
1. WSLでUbuntuに接続する。
コマンドプロンプトかPowerShellを開き、以下を実行します。
> wsl --distribution Ubuntu --user <UNIXユーザー名>
2. Dockerの公式GPGキーを追加する。
Ubuntuで以下を実行します。
$ sudo apt-get update
$ sudo apt-get install ca-certificates curl
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
3. aptソースにDockerリポジトリを追加する。
Ubuntuで以下を実行します。
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
4. Dockerパッケージをインストールする。
Ubuntuで以下を実行します。
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5. インストールの確認をする。
インストールできたかを確認するために、Dockerのバージョンを確認します。
Ubuntuで以下を実行します。
$ sudo docker version
Client: Docker Engine - Community
Version: 26.0.0
API version: 1.45
Go version: go1.21.8
Git commit: 2ae903e
Built: Wed Mar 20 15:17:48 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 26.0.0
API version: 1.45 (minimum version 1.24)
Go version: go1.21.8
Git commit: 8b79278
Built: Wed Mar 20 15:17:48 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0
インストールの確認ができました。
3. sudoなしでDockerコマンドを使えるようにする
現状ルートユーザーしかDockerコマンドを使えないので、他のユーザーもsudoなしで使えるようにします。
1. WSLでUbuntuに接続する。
コマンドプロンプトかPowerShellを開き、以下を実行します。
<UNIXユーザー名>
はroot以外のユーザーにします。このユーザーがsudoなしでDockerコマンドを使えるようになります。
> wsl --distribution Ubuntu --user <UNIXユーザー名>
2. dockerグループにユーザーを追加する。
Ubuntuで以下を実行します。
$ sudo usermod -aG docker $USER
Ubuntuで以下を実行することで、dockerグループに追加されたか確認できます。
$ cat /etc/group | grep docker
docker:x:999:<UNIXユーザー名>
3. Ubuntuに再接続する。
Ubuntuで以下を実行してUbuntuからログアウトします。
$ exit
コマンドプロンプトかPowerShellを開き、以下を実行してUbuntuに接続します。
> wsl --distribution Ubuntu --user <UNIXユーザー名>
4. Dockerコマンドが使えるかを確認する。
Dockerコマンドが使えるかを確認するために、Dockerのバージョンを確認します。
Ubuntuで以下を実行します。
$ docker version
Client: Docker Engine - Community
Version: 26.0.0
API version: 1.45
Go version: go1.21.8
Git commit: 2ae903e
Built: Wed Mar 20 15:17:48 2024
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 26.0.0
API version: 1.45 (minimum version 1.24)
Go version: go1.21.8
Git commit: 8b79278
Built: Wed Mar 20 15:17:48 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Dockerコマンドが使えることを確認できました。