🐳

WSL2でDocker CLIを使う[Windows11]

2022/12/18に公開

💫 概要

WSL2でdocker CLIを使う方法を紹介します。
この記事では環境構築がメインのため、Dockerそのものについては簡易的な説明に留めます。

少し前にDocker Desktopが有料になったのでCLIを使う人が増えるかもしれませんね。

💫 環境

  • Windows 11

💫 ざっくり用語説明

  • ⭐︎ WSL2:

    • Windows Subsystem for Linux 2の略称。
    • Windows上でLinuxを動作させるための仕組み。
  • ⭐︎ Ubuntu:

    • Linux系のOS。
  • ⭐︎ Docker:

    • コンテナ技術を使いやすくまとめたプラットフォーム。
    • 同じ環境を様々な場所に複製したい際に便利。
    • "コンテナ"というサーバーのようなものを動かすことができる。

💫 公式ドキュメント

https://docs.docker.com/engine/install/ubuntu/

💫 準備

  • なし

💫 WSL2のインストール

Windows11にWSL2をインストールする方法をこちらで紹介しています。

https://uryu-uryu.com/how-to-install-wsl2/

以下の操作は全てUbuntuのターミナルで行います。

💫 Docker CLIのインストール

  1. リポジトリのセットアップ
    パッケージ更新とインストールを行います。
$ sudo apt-get update
$ sudo apt-get install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release
  1. GPGキーの追加・セットアップ
    GPGキー(GnuPGという暗号化ソフトで生成される公開鍵)を追加します。
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. リポジトリのセットアップ
    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
  1. Dockerのパッケージをインストール
    DockerのパッケージとDocker Composeプラグインをインストールします。
$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
$ sudo apt-get install -y docker-compose-plugin
  1. Dockerデーモンの起動
    Dockerを起動します。
$ sudo service docker start
 * Starting Docker: docker                  [ OK ]

💫 Docker CLIの動作確認

公式が提供しているHello Worldコンテナを試しに起動してみます。

sudo docker run --rm hello-world

以下のような結果が表示されます。

~~~
Hello from Docker!
This message shows that your installation appears to be working correctly.
~~~

実行結果は長いので前後を一部省略(~~~のところ)しました。
"--rm"は、コンテナ終了時に自動でコンテナを削除するためのオプションです。

以下のコマンドを実行すると、今後はsudoなしでdockerを実行できるようになります。

sudo usermod -aG docker

💫 Docker Composeの動作確認

テスト用に下記のdocker-compose.ymlファイルを作成します。

version: "3"
services:
  nginx-container:
    image: nginx:latest

docker-compose.ymlのあるディレクトリで以下のコマンドを実行するとコンテナを起動できます。

docker compose up

以上で本記事は終了です。
良いWSL2 & Dockerライフを!

Discussion