Windows11 WSL2 Ubuntu 24.04 LTS

Docker Disktop インストール準備Ⅴ

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

yamada@yama:~$ 
 sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
  1. -f オプション

    HTTP サーバーエラーが発生してもエラー出力なしで失敗します。

  2. -s オプション

    サイレントモード。
    進行状況メーターやエラーメッセージを表示しません。

  3. -S オプション

    -s オプション と一緒に使用すると、curlが失敗した場合にエラーメッセージを表示します。

  4. -L オプション

    サーバーが要求されたページが別の場所に移動したことを報告した場合
    (Location: ヘッダーと 3XX レスポンスコードが示されます)
    curl は新しい場所でリクエストを再実行します。

  5. -o オプション

    取得したコンテンツをファイル出力し、標準出力された内容を
    ファイル /etc/apt/keyrings/docker.asc
    に保存します。


これで /etc/apt/keyrings/ に Docker リポジトリ GPG キー docker.asc が格納されました。 docker.asc のパーミッションを変更します。
すべてのユーザ a に、アクセス権読み取り可能 r を付与します。
yamada@yama:~$ sudo chmod a+r /etc/apt/keyrings/docker.asc

Docker Disktop インストール準備Ⅴ

次のおまじないのようなコマンドを実行します。
自分のシステムのアーキテクチャと Ubuntu のバージョンに合わせて、Docker の公式リポジトリの URL を作成し、 それを /etc/apt/sources.list.d/ ディレクトリに保存します。
要するに
sudo add-apt-repository "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu noble stable"
のようなコマンド文が作成できるようにします。

yamada@yama:~$ cat
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

こんなのなんだか分かりませんよね。
説明を加えます。

  1. arch=$(dpkg --print-architecture)

    yamada@yama:~$ dpkg --print-architecture
    を実行すると
    [結果] amd64
    となります。
    自分の PC は64ビットパソコンだと分かります。

  2. リポジトリファイルディレクトリ

    signed-by = 鍵の置場所
    です。
    signed-by=/etc/apt/keyrings/docker.asc
    でリポジトリファイルのあるディレクトリを指定します。

  3. Docker Disktop インストールファイルの URL

    Docker Disktop インストールファイルの URL は
    https://download.docker.com/linux/ubuntu
    です。

  4. Ubuntu バージョンの確認

    Docker がインストールされる Ubuntu のバージョンの確認をします。
    yamada@yama~$ cat /etc/os-release
    を実行すると

    PRETTY_NAME="Ubuntu 24.04.1 LTS"
    NAME="Ubuntu"
    VERSION_ID="24.04"
    VERSION="24.04.1 LTS (Noble Numbat)"
    VERSION_CODENAME=noble  ←これを読み取って出力
    ID=ubuntu
    ID_LIKE=debian
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    UBUNTU_CODENAME=noble
    LOGO=ubuntu-logo
    

    となります。
    VERSION_CODENAME=noble
    部分を読み取って出力します。

  5. stable

    安定版(stable)チャネルを指定して、正規安定版(general availability; GA)の最新版を選択してダウンロードします。

  6. tee コマンド

    コマンドの結果をファイルに出力したいけど、標準出力でも出力を見たい!という欲張りな要望に答えてくれる頼もしいコマンドが tee です。

    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

    とすると tee でエコーバックされる内容はファイル
    /etc/apt/sources.list.d/docker.list
    に保存され、エコーバックされた内容はファイルに保存したのでもういらなくなったので
    > /dev/null (ゴミ箱)に捨てます。

  7. /etc/apt/sources.list.d/docker.list の確認

    docker.list の確認をします。

    yamada@yama:~$ cat /etc/apt/sources.list.d/docker.list
    [結果]
    deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu   noble stable
    

Docker Disktop インストール準備まとめ

ここまでをまとめると以下のようになります。

# Add Docker's official GPG key:
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
# Add the repository to Apt sources:
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

Docker Disktop インストール

Docker Disktop をインストールします。
やっとです。
yamada@yama:~$ sudo apt-get update
yamada@yama:~$ sudo apt-get install ./docker-desktop-amd64.deb
上手く実行できると、
N: Download is performed unsandboxed as root, as file '/home/user/Downloads/docker-desktop.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
とメセージが出て完了すると WEB を検索すると書いてあるのですが上手く行きません。
実際は、
パッケージリストを読み込んでいます... 完了
E: コマンドラインで指定されたファイル ./docker-desktop-amd64.deb はサポートされていません
となってしまいます。
いろいろ対応策を試したのですが、状況は改善しませんでした。
どうも、Ubuntu 22.04 LTS ならば上手く行くようです。
又、Ubuntu 24 の最新の非 LTS バージョンならば上手く行くようです。
(2024/12/28日現在)
あきらめました。

残念ながら Docker Disktop for Linux を WSL/Ubuntu 24.04 LTS にインストールすることはできませんでした。
仕方がないので Docker CE (Community Edition) をインストールすることにします。


  • Docker CE インストール概要 に進む
  • Docker Disktop を Ubuntu 24.04 にインストール に戻る
  • 70VPS に戻る