LoginSignup
2

More than 1 year has passed since last update.

ラズパイにDockerをセットアップする

Posted at

テスト用に家にある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のインストール

記事記載の当日は下記のように記載してありましたが、普通にインストールできたのでスルー
(前まではインストール先のリンクがアーキテクチャ名を指定していた際にラズパイでは対応できていませんでしたが、いつの間にかコマンドの内容が変更されていたので多分大丈夫になった)
とはいえ、
用意されたスクリプトの方が実行は簡単だと思うのでそちらの方がいい方はそちらで。

docs.docker.com_engine_install_debian_ (1).png

用意されたスクリプトもコピペすれば終わりそうなので省きます

古いバージョンのアンインストール

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もインストールされていますね

終わり!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2