Linux Mint 21.3に docker インストール

定番ネタのひとつですが、apt-key が DEPRECATED らしいのでそれに対処したのでメモする

Linux Mint はほぼ Ubuntu と考えて問題ないのだが公式にも Mint は Ubuntu バージョンの環境変数が違うよ。と指摘されている。

素直に書き換えると、にこうなる。

$ 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

$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update

しかしこのやり方だと apt update で warrning が出る。調べると apt-key が DEPRECATED なことに関連しているらしい。

man apt-key してみると、公開鍵を /etc/apt/trusted.gpg.d に置くのが正解のようだ。

そうすると、docker.list の中の signed-by= の場所がずれてしまうが、同フォルダの他のソース設定ファイルをみると signed-by はなくてもよさそうなので削ってみる。

$ sudo mv /etc/apt/keyrings/docker.asc /etc/apt/trusted.gpg.d/

; signed-by を削除
$ sudo vi /etc/apt/sources.list.d/docker.list 
deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable
:wq

これで apt update 時に warning (ワーニング ? ウォーニング ? どっちが正しい ?) が出なくなった。

最初からやるには、 キーを取ってくるときに、trusted.gpg.d に置けばいいと思う。

Mint のバージョンが異なると相当する Ubuntu のコード名が変わるのだけであとは同じ。コード名は最初のスクリプトが示す通り /etc/os-release を見ればわかる。

参考

Install Docker Engine on Ubuntu | Docker Docs

Linux Mintにdockerを入れる #Docker – Qiita