テスト用に家にあるRaspberry Piをよくリセットしてはdockerをインストールしているので
メモ用の手順を記載
とはいえ、下記の公式記事をコピペして、
最後にpiユーザーにdocker権限を与える程度
デバイス情報
Raspberry Pi 3B
SSDにRaspberry Pi Imager v1.7.2を使って、
Raspberry Pi OS(64bit)をインストール済み
pi@raspberry:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
pi@raspberry:~ $ uname -a
Linux raspberry 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux
Dockerのインストール
記事記載の当日は下記のように記載してありましたが、普通にインストールできたのでスルー
(前まではインストール先のリンクがアーキテクチャ名を指定していた際にラズパイでは対応できていませんでしたが、いつの間にかコマンドの内容が変更されていたので多分大丈夫になった)
とはいえ、
用意されたスクリプトの方が実行は簡単だと思うのでそちらの方がいい方はそちらで。
用意されたスクリプトもコピペすれば終わりそうなので省きます
古いバージョンのアンインストール
pi@raspberry:~ $ sudo apt-get remove docker docker-engine docker.io containerd runc
リポジトリの設定
pi@raspberry:~ $ sudo apt-get update
pi@raspberry:~ $ sudo apt-get install -y ca-certificates curl gnupg lsb-release
pi@raspberry:~ $ sudo mkdir -p /etc/apt/keyrings
pi@raspberry:~ $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
pi@raspberry:~ $ dpkg --print-architecture
pi@raspberry:~ $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
DockerEngineのインストール
pi@raspberry:~ $ sudo apt-get update
pi@raspberry:~ $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
pi@raspberry:~ $ apt-cache madison docker-ce
> docker-ce | 5:20.10.17~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.16~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.15~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.14~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.13~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.12~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.11~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.10~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.9~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.8~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.7~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
> docker-ce | 5:20.10.6~3-0~debian-bullseye | https://download.docker.com/linux/debian bullseye/stable arm64 Packages
最新の5:20.10.17~3-0~debian-bullseye
をインストールするように下記コマンドを変更して実行
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
↓
pi@raspberry:~ $ sudo apt-get install docker-ce=5:20.10.17~3-0~debian-bullseye docker-ce-cli=5:20.10.17~3-0~debian-bullseye containerd.io docker-compose-plugin
インストールされたか確認
pi@raspberry:~ $ sudo docker run --rm hello-world
piユーザーで実行できるようにする
dockerグループがあるか確認
pi@raspberry:~ $ cat /etc/group | grep docker
ない場合
dockerグループを手動で作成する
pi@raspberry:~ $ sudo groupadd docker
dockerグループにpiユーザーを入れて再起動
pi@raspberry:~ $ sudo usermod -aG docker pi
pi@raspberry:~ $ sudo reboot
再起動後に自分のグループを確認し、存在していればok!
pi@raspberry:~ $ id | grep docker
> uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),104(input),106(render),108(netdev),117(lpadmin),995(docker),997(gpio),998(i2c),999(spi)
最後にDockerのバージョン確認
pi@raspberry:~ $ docker version
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:02:34 2022
OS/Arch: linux/arm64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:01:01 2022
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
pi@raspberry:~ $ docker compose version
Docker Compose version v2.6.0
docker compose v2もインストールされていますね