raspberry pi zeroでdocker-composeを使えるようにする
公開: 2023年03月31日
raspberry pi zeroでdocker-composeを使えるようにする
目次
SDカードにrasbianをインストールする
Raspberry Pi ImagerでSDカードにOSイメージを書き込む。
Raspberry Zeroは基本的には32bitで良いだろう。
書き込み時にSSH設定とWiFi設定をする
Raspberry Pi Imagerの設定アイコンからWifiやユーザー設定ができる。 ここで設定しておけば初回起動で自動でWiFiにつながり、いきなりSSHできるのでかなり楽。
立ち上がったRaspberry Pi のipアドレスを探す方法はnmapとか使うが、WindowsであればフリーソフトのAdvanced IP Scannerがおすすめ。
Raspberry Pi Zeroのセットアップ
ssh でログインする。
$ ssh root@192.168.1.20
Warning: Permanently added '192.168.1.20' (ED25519) to the list of known hosts.
root@192.168.1.20's password:
Linux raspberrypi 5.15.84+ #1613 Thu Jan 5 11:58:09 GMT 2023 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Mar 31 10:49:31 2023 from 192.168.1.9
root@raspberrypi:~#
1. パッケージのアップデート
ラズパイはdebianベースのようだ。
root@raspberrypi:~# cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
debianなのでaptでパッケージを更新する。
apt update -y && apt upgrade -y
2. dockerのインストール
docker はLinuxだったらとりあえず以下を叩く。 自動でOSやバージョン等を判定してインストール可能。
結構時間かかるので待つこと。
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
自分の環境では最後にエラーが出た。
root@raspberrypi:~# curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# Executing docker install script, commit: 93bb55b16a5f5c8ce33e0f4784cb8af149d9590f
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sh -c mkdir -p /etc/apt/keyrings && chmod -R 0755 /etc/apt/keyrings
+ sh -c curl -fsSL "https://download.docker.com/linux/raspbian/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
+ sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sh -c echo "deb [arch=armhf signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian bullseye stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq >/dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin >/dev/null
E: Sub-process /usr/bin/dpkg returned an error code (1)
E: Sub-process /usr/bin/dpkg returned an error code (1)
でエラーなのだけど、dockerコマンドが動作するので一旦良しとする。
以下でdockerコマンドが応答すればインストール完了。
docker -v
3. docker-compose
次にdocker-composeのインストール
pip3やaptを用いた方法があるが、raspberry pi zeroの場合はarm32v7なため、
間違ったバイナリを拾ってくると Illegal instruction
が発生するので注意。
apt install python3-dev python3-pip -y
pip3 install docker-compose
docker-compose -v