WSL2のUbuntuにDockerをインストールする方法

Docker

はじめに

前回、WSL2のインストール方法についての記事を作成しました。今回は、WSL2上にインストールしたLinuxディストリビューションの1つであるUbuntuにDockerをインストールする方法について解説します。

以下の公式サイトもご確認ください。

Install Docker Engine on Ubuntu
Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multip...

注意事項

Dockerをインストールするにあたり、以下の注意事項がございます。

  • ufwやfirewalldを使用してファイアウォールを設定している場合
  • Dockerでコンテナのポートを外部に公開すると、そのポートはファイアウォールの設定を無視する

    ※ufw(Uncomplicated Firewall): DebianのLinuxディストリビューションのファイアウォール管理ツール

    ※firewalld: Red Hat系のLinuxディストリビューションのファイアウォール管理ツール

Dockerをインストールする

  1. 古いバージョンのDockerと関連のパッケージを削除します
    for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
    • docker.io: Dockerの古いバージョン
    • docker-doc: Dockerのドキュメント
    • docker-compose: Docker Composeの古いバージョン
    • docker-compose-v2: Docker Composeの新しいバージョン
    • podman-docker: Podmanを使用してDockerコマンドをエミュレートするパッケージ
    • containerd: コンテナランタイム
    • runc: 低レベルのコンテナランタイム

file

  1. パッケージリストを更新します。
    sudo apt-get update

file

  1. DockerのGPGキーをダウンロードするためのパッケージをインストールします。
    sudo apt-get install ca-certificates curl
    • ca-certificates: SSL/TLS証明書を管理するためのパッケージ
    • curl: URLからデータを取得するためのコマンドラインツール

file

  1. DockerのGPGキーを保存するディレクトリを作成します。
    sudo install -m 0755 -d /etc/apt/keyrings
    • 0755: 管理者【読み取り・書き取り・実行】/グループ【読み取り・実行】/その他のユーザ【読み取り・実行】

file

  1. curlを使ってDockerのGPGキーを取得し、ローカルファイルに保存します
    sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
    • f: HTTPエラーを無視しない
    • s: 進行状況を表示しない(サイレントモード)
    • S: エラーが発生した場合にエラーメッセージを表示
    • L: リダイレクトを追跡
    • o: 出力ファイルを指定

file

  1. ファイルに読み取り権限を追加します。
    sudo chmod a+r /etc/apt/keyrings/docker.asc

file

  1. Dockerをインストールするためのリポジトリをシステムに教えて、その場所から必要なパッケージを取ってこれるように設定します。
    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
  • APTがバイナリパッケージリポジトリを認識するための指定

    deb
  • システムのアーキテクチャ(例:amd64)と署名キーの場所を指定

    [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc]
  • Dockerの公式リポジトリURL

    https://download.docker.com/linux/ubuntu
  • 現在のUbuntuのコードネーム(例:focal)を取得

    $(. /etc/os-release && echo "$VERSION_CODENAME")
  • 安定版リリースを指定

    stable

file

  1. 再度パッケージリストを更新します。
    sudo apt-get update

file

  1. Dockerのパッケージをインストールします。
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • docker-ce(Docker Community Edition): コンテナの作成、実行、管理を行う
  • docker-ce-cli(Docker Command Line Interface): dockerコマンド(例:docker run、docker build)を実行するためのツール
  • containerd.io: コンテナのライフサイクル(作成、開始、停止、削除など)を管理
  • docker-buildx-plugin: マルチプラットフォームビルド、キャッシュエクスポート、並列ビルドなどの高度なビルド機能を提供
  • docker-compose-plugin: 複数のコンテナで構成されるアプリケーションを定義し、管理するためのツール

途中でDo you want to contine? [Y/n]と聞かれたらyを入力して、Enterしてください。

file

file

  1. 動作確認をします。
    sudo docker run hello-world

    以下のように表示されたら成功です。

file

コメント

タイトルとURLをコピーしました