前回の記事で,Raspberry Pi 4BでDockerを使いましたが,思ったよりもリソースが余っているので,より省電力にできないか検討しました.Raspberry Pi Zero WにDockerをインストールして使ってみました.
仕様
Raspberry Pi Zero W
- 802.11 b/g/n wireless LAN
- Bluetooth 4.1
- Bluetooth Low Energy (BLE)
- 1GHz, single-core CPU
- 512MB RAM
- Mini HDMI and USB On-The-Go ports
- Micro USB power
- HAT-compatible 40-pin header
- Composite video and reset headers
- CSI camera connector
Buy a Raspberry Pi Zero W – Raspberry Pi
セットアップ
セットアップはRaspberry Pi 4Bよりも簡単です.余っているUSB充電器とmicroUSBケーブルがあれば給電できますし,microSDカードにRaspberry Pi OSを書き込んで電源を接続すれば起動します.ディスプレイにはmini-HDMIケーブルを用いて接続します.
試しにヒートシンクなしで使ってみましたが,やはりかなり熱くなるのでヒートシンクを取り付けることにしました.しかし,わざわざ購入するのも大袈裟なので,余っていた熱伝導パッドを使って金属片をヒートシンク代わりに取り付けました.
しばらく負荷をかけてみましたが,CPU温度は40℃台で安定していたので,これで十分のようです.
Dockerのインストール
https://get.docker.com/のシェルスクリプトを実行するだけです.
PythonをDockerで実行
Raspberry Pi Zero Wで動作するDocker イメージを作成するには,platformをlinux/arm/v6
にしてビルドします.
Dockerfile
FROM python:3.8-slim-buster CMD python --version
$ docker buildx build --platform linux/arm/v6 --tag raspv6:latest .
これをファイルとして保存します.
$ docker save -o rasp.tar raspv6:latest
ファイルをUSBスティックでRaspberry Pi Zero Wに移動させ,Dockerに読み込みます.
$ docker load -i rasp.tar
実行します.
$ docker run -it --rm raspv6:latest Python3.8.8
正常に実行できました.