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
- -f オプション
HTTP サーバーエラーが発生してもエラー出力なしで失敗します。
- -s オプション
サイレントモード。
進行状況メーターやエラーメッセージを表示しません。 - -S オプション
-s オプション と一緒に使用すると、curlが失敗した場合にエラーメッセージを表示します。
- -L オプション
サーバーが要求されたページが別の場所に移動したことを報告した場合
(Location: ヘッダーと 3XX レスポンスコードが示されます)
curl は新しい場所でリクエストを再実行します。 - -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
こんなのなんだか分かりませんよね。
説明を加えます。
- arch=$(dpkg --print-architecture)
yamada@yama:~$ dpkg --print-architecture
を実行すると
[結果] amd64
となります。
自分の PC は64ビットパソコンだと分かります。 - リポジトリファイルディレクトリ
signed-by = 鍵の置場所
です。
signed-by=/etc/apt/keyrings/docker.asc
でリポジトリファイルのあるディレクトリを指定します。 - Docker Disktop インストールファイルの URL
Docker Disktop インストールファイルの URL は
https://download.docker.com/linux/ubuntu
です。 - 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
部分を読み取って出力します。 - stable
安定版(stable)チャネルを指定して、正規安定版(general availability; GA)の最新版を選択してダウンロードします。
- tee コマンド
コマンドの結果をファイルに出力したいけど、標準出力でも出力を見たい!という欲張りな要望に答えてくれる頼もしいコマンドが tee です。
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
とすると tee でエコーバックされる内容はファイル
/etc/apt/sources.list.d/docker.list
に保存され、エコーバックされた内容はファイルに保存したのでもういらなくなったので
> /dev/null (ゴミ箱)に捨てます。 - /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) をインストールすることにします。