Windows11 WSL2 Ubuntu 24.04 LTS

Docker Disktop を Ubuntu 24.04 にインストール

ここまでで WSL/Ubuntu 24.04.1 LTS のインストールが完了しました。
引き続き
Docker Disktop for Linux を
Windows11 WSL2 Ubuntu 24.04 LTS
にインストールします。
私は、Docker Engine ではなく Docker Desktop をインストールしようとしたのですが、その理由は以下の通りです。

  1. コンテナ化

    コンテナ化されたアプリケーションやマイクロサービスの構築と共有に適している。

  2. グラフィカルインターフェース

    グラフィカルインターフェースや統合 Kubernetes クラスタ、サードパーティ拡張機能などの機能を備えている。

  3. ダッシュボード

    Docker ダッシュボードでコンテナリソースを視覚的に管理できる。

  4. 管理の簡素化

    コンテナとサービスの管理を簡素化するユーザーフレンドリーなグラフィカルインターフェイスが提供される。

  5. Docker Engine 含む

    Docker コンテナを動かすコアテクノロジーである Docker Engine が含まれている。

  6. コンテナ稼働状況の確認

    Docker Desktopでは、専用の GUI 上でコンテナ稼働状況の確認やコンテナの停止、再開、廃棄といった作業が可能です。

  7. コンテナ作成作業

    一方で、コンテナ作成などの作業は PowerShell やコマンドプロンプトといったコマンドライン上で行う必要がある。


Docker Desktop でなく、Docker Engine をインストールする方法もあります。
Docker Engine には Linux システム上でネイティブに動作し、コマンドを実行するための Docker CLI が含まれています。
快適なターミナルでの作業や優れたサポートとパフォーマンスを重視する場合は、Docker Engine が適しています。
Docker のコマンドラインインターフェイス(Docker CLI)は、Docker コンテナと対話し、 コンテナエコシステムのさまざまな側面をコマンドラインから直接管理できるようにする堅牢なツールです。
CLI を使用すると、コンテナの作成、開始、停止、削除や、コンテナイメージ、ネットワーク、ボリュームの管理など のタスクを効率的に行えます。
Docker CLI は、コンテナとそのリソースを管理するための強力で柔軟なオプションも提供します。
Desktop と Engine の両方をインストールこともできます。
でも干渉が発生することがあります。
詳細は LinuxにDockerデスクトップをインストールする を開き、
「Docker Desktop for Linux と Docker Engine の違いは何ですか?」
をクリックして参照してください。

Docker Disktop インストール準備

Docker Disktop for Linux には
無償版と有償版(商用版)の Docker があります。
無償版は一部制限事項がありますが、普通に使用する範囲であれば問題なく使えます。
インストールはどちらも同じです。
有償版にする場合は制限を解除するイメージです。
Docker Desktop の代わりに Docker CE(Community Edition)をインストールする手段もあります。
ただ機能的には Docker Desktop の方が上のようです。
Docker Desktop と Docker CE の差異をメモる を参照してください。
Docker Disktop をインストールします。
Ubuntu に Docker デスクトップをインストールする が参考になります。

Docker Disktop インストール準備Ⅱ

やっと Docker Disktop for Linux をインストールすることに決まりました。
Ubuntu 24.04 LTS デスクトップ環境が Gnome でなければなりません。
Ubuntu 24.04 LTS デスクトップを開き
起動方法がよく分からない方は
Ubuntu 24.04 ディスクトップをインストール を見てください。
yamada@yama:~$ echo $XDG_CURRENT_DESKTOP
とし、
ubuntu:GNOME
と表示されれば OK です。
もし Gnome 以外のデスクトップ環境の場合は、gnome-terminal をインストールする必要があります。
yamada@yama:~$ sudo apt install gnome-terminal
でインストールすることができます。

Docker Disktop インストール準備Ⅲ

Docker Desktop は仮想マシンを実行しますが、KVM のサポート が必要です。
ホストが仮想化をサポートしている場合、kvm モジュールは自動的に読み込まれます。
しかし、WSL/Ubuntu 24.04.1 LTS にインストールする場合は KVM モジュールを手動で読み込む必要があります。
まずは KVM をインストールします。
yamada@yama:~$ sudo apt install qemu-kvm libvirt-daemon-system libvirt-daemon virtinst bridge-utils libosinfo-bin
インストールできたか確認します。
$ kvm-ok
[結果]
INFO: /dev/kvm exists
KVM acceleration can be used
と表示されたら OK です。
もし表示されない場合はモジュールを手動で読み込みます。
組み込みの詳細については Linux に Docker Desktop をインストール
を参照して下さい。
モジュールを手動で読み込むには、次のように実行します。
yamada@yama:~$ modprobe kvm
ホストマシンのプロセッサによって、適切なモジュールを読み込む必要があります。
$ modprobe kvm_intel # Intel プロセッサ(私はこちらでした)
$ modprobe kvm_amd # AMD プロセッサ
$ kvm-ok
で再度確認します。

Docker Disktop インストール準備Ⅳ

まずは、Docker のパッケージ リポジトリを設定する必要があります。
リポジトリを設定が参考になります。
お決まりの update です。
ユーザーが使う場合は apt が推奨ですが、スクリプトに関してはなんと apt-get が推奨のようです。
yamada@yama:~$ sudo apt-get update
yamada@yama:~$ sudo apt-get upgrade
yamada@yama:~$ sudo apt autoremove
で Ubuntu をアップデートしておきましょう。
curl が必要です。
cURLとは、コマンドラインからHTTPリクエストを送信するためのオープンソースのライブラリやツールのことです。
$ curl --version
でインストールされているか確認します。
多分インストールされているはずです。
されていなければ、
$ sudo apt-get install curl
でインストールします。
Ubuntu ベースの Docker コンテナで SSL 接続をするために ca-certificates パッケージをインストールします。
Ubuntu では基本的な CA 証明書が ca-certificates パッケージで提供されています。
これがインストールされていない状態で npm install コマンドや curl コマンドで HTTPS 通信しようとすると CA 証明書のエラーが発生します。
curl パッケージなどをインストールする際に、デフォルトでは推奨パッケージとして
ca-certificates パッケージもインストールされるのでこのエラーには遭遇しづらいのですが、
Docker イメージをビルドする際に
apt install -y --no-install-recommends curl
という感じで --no-install-recommends オプションを付けていると
ca-certificates パッケージがインストールされていないと、
上記の状態エラーになります。
対策としては、単純に ca-certificates パッケージをインストールします。
yamada@yama:~$ sudo apt-get install ca-certificates
上手くいかない場合は
~$ sudo apt-get install ca-certificates curl gnupg lsb-release
ca-certificates をインストールすると
/etc/apt/keyrings/ フォルダが使用可能となりますので、このフォルダに対して
yamada@yama:~$ sudo install -m 0755 -d /etc/apt/keyrings
を実行します。
install コマンドでディレクトリを作りつつファイルを配置します。

  1. -m オプション

    インストールされたファイルやディレクトリのアクセス権を mode に設定します。
    mode は 0 を基点とし、8 進数、 chmod におけるシンボルモードのどちらでも設定可能です。
    デフォルトの mode は 0755 で、所有者の読み取り・書き込み・実行、グループとその他の人の読み取り・実行が可能です。

  2. -d オプション

    指定されたディレクトリを作成します。
    親ディレクトリが存在しない場合は、それも作成します。
    所有者・グループ・mode を、コマンドラインで指定された設定、またはデフォルトの設定にします。
    このとき作成した親ディレクトリにも同じ属性を与えます。


ここまでで、Docker Disktop インストール準備Ⅳ
Docker のパッケージ リポジトリ設定までが完了しました。
引き続き、Dockerリポジトリ GPG キーを取得します。


  • Docker Disktop インストール準備Ⅴ に進む
  • 70VPS に戻る