DockerをKali Linuxにインストールする手順
Windows用のDockerと違って、Linux用のDockerはGUIインストーラがないので、すべてコマンドでインストール作業が必要と少々難しい。
https://docs.docker.com/engine/install/debian/
Dockerのインストール方法は、Dockerの公式サイトを見ると分かります。同じLinuxでも各種ディストリビューションで方法が微妙に違ったりして分かれているので、Kali Linuxは何なのか調べました。
→Kali LinuxはDebian。
DockerのドキュメントでDebianを選択クリックしたらDebianの場合のインストール手順が表示されます。
上記リンクのドキュメントに沿って作業を進めました。
パッケージリストの更新とhttpsでダウンロードするためのパッケージをインストール
余談ですが、apt-get updateでアップデートできるパッケージのリストの内容を入手し更新する。listが更新されるだけで、upgradeコマンドを実施するまでパッケージ自体は更新されないです。最近知りました。
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Docker公式のGPGキーを入手しキーを追加
GPGとは、GnuPG という暗号化ソフトウェアのこと。GPGで生成される暗号化の鍵をGPGキーと呼ぶ。GPGキーは公開鍵と秘密鍵のセット。
aptコマンドでパッケージをインストールする時の配布元が正しいことを確かめるためにGPGキーが使われる。
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
キーのfingerprintを有効にする
ドキュメントのこの手順のところにかかれているfingerprintの末尾8桁をapt-key fingerprintの引数に渡す。fingerprintの末尾の8桁がdockerのキーのIDとなります。キーの削除など行うときも、この8桁を引数に渡します。
$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22
※削除するには、sudo apt-key del 0EBFCD88 とします。
僕の場合、apt-keyコマンドを使うと、apt-key is deprecated( 非推奨)と表示されました。/etc/apt/trusted.gpg.d/で管理しなさい。みたいな警告がでました。
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
/etc/apt/trusted.gpg
apt-key list※コマンドで確認したら、apt-key コマンドで追加したkeyは/etc/apt/trusted.gpg.d/に入れられてないみたい。
※現在持っているkeyのリストを確認するには、下記コマンド。
sudo apt-key list
先ほど追加したキーがlistの中に表示されます。keyのディレクトリも表示されます。
Dockerのリポジトリを追加
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
自分のPCにあったリポジトリを選択。上記はx86_64 / amd64用のリポジトリです。もし間違っていたら、後のインストールでインストールできないのでリポジトリの追加し直しが必要になってくるみたい。
追加したリポジトリは、/etc/apt/sources.listファイルに書き込みされ、apt-get updateしたときにこのファイルに書かれた内容が参照されます。
sources.listファイルを覗いてみると、debとdeb-srcという項目に続けて追加されてます。deb-srcの方はコメントになっています。通常はdeb-srcの方はコメントのままで、debの方だけ参照されるようにすれば大丈夫。
apt-get updateで更新のインデックスに上げる
sudo apt-get update
ここまでの作業でGPGキーの追加、リポジトリの追加をしてあるので、上記コマンドでdockerがindexされるはずです。
しかし僕の場合は下記となり、怒られました。
E: リポジトリ https://download.docker.com/linux/debian kali-rolling Release には Release ファイルがありません。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。
N: リポジトリの作成とユーザ設定の詳細は、apt-secure(8) man ページを参照してください。
その後、いろいろと試行錯誤したけど、無理っぽいので、リポジトリは削除しました。その代わりに、実は普通にKali Linuxの公式リポジトリから dockerをインストールしました。普通にaptでできます。
下記が手順です。
$ sudo apt update
$ sudo apt install -y docker.io
$ sudo systemctl enable docker --now
$ docker --version
Docker version 19.03.13, build 4484c46