🐒 2019/10/17 更新
従来通りのインストール手順でラズパイ Zero の Raspbian でも Docker をインストールできるようになりました!
- Issue #709: Docker-CE need updating for raspbian buster | Docker for Linux @ GitHub
Dockerは、これでOK!curl https://get.docker.com | sh
docker-composeは、これでOK!apt install docker-compose
- 確認済み OS: 2019-07-10-raspbian-buster-lite.zip
- 確認済みハード: RaspberryPi Zero WH (
ARMv6l
/BCM2835
/Rev.9000c1
)
以下は、公式(従来通り)の方法でインストールできない場合の、RaspberryPi Zero W に arm32v6 用 Docker CE と docker-compose をインストールする手順です。
Docker on Buster for RPi Zero W
- 確認日:2019/09/29
- RaspberryPi: Zero W(
ARMv6l
/BCM2835
/Rev.9000c1
) - Raspbian: v10 Buster(2019-07-10-raspbian-buster-lite.zip)
- v9 Stretch に Docker と docker-compose をインストールしたい場合は以下。
「 ラズパイ Zero W(ARM v6l)Stretch Lite に Docker と docker-compose をインストールする手順【2019/09 版】」@ Qiita
- v9 Stretch に Docker と docker-compose をインストールしたい場合は以下。
TL;DR(ワンライナー)
cd /tmp && wget https://packagecloud.io/Hypriot/rpi/packages/raspbian/buster/containerd.io_1.2.6-1_armhf.deb/download.deb && sudo dpkg -i download.deb && sudo curl -sL get.docker.com | bash && sudo rm download.deb
sudo curl -L --fail https://keinos.github.io/Dockerfile_of_Docker-Compose_for_ARMv6l/run.sh -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
sudo gpasswd -a $USER docker
🐒 注意: ARMv7 のラズパイ3や Intel マシンに比べて、ラズパイ Zero は ARMv6 なのでコンテナの作成や docker コマンドのレスポンスは正直に言ってモッタリです。それでも、コンテナが一旦起動すれば「速くはない。でもまぁ普通」って感じなので、起動速度よりメンテナンス/リカバリーや開発速度を優先したい場合は、ラズパイ Zero でもかなり有効だと感じました。
TS;DR
Docker のインストール手順
以下は、公式の方法でインストールできない場合の手順です。
-
RaspberryPi Zero W に Buster Lite をインストール、ロケールの設定などを行う。
-
armhf 版
containerd.io
の v1.2.6-1 をあらかじめインストールする。(もしくは v1.2.6-1 にダウングレードする。2019/10/02 現在 v1.2.6-3 では動作しません。)$ cd /tmp $ wget https://packagecloud.io/Hypriot/rpi/packages/raspbian/buster/containerd.io_1.2.6-1_armhf.deb/download.deb ... $ sudo dpkg -i download.deb ... $ sudo rm download.deb
-
公式の Docker インストールスクリプトを実行する。
$ sudo curl -sL get.docker.com | bash ...
-
Docker が動くか確認する
$ docker version Client: Docker Engine - Community Version: 19.03.2 API version: 1.40 Go version: go1.12.8 Git commit: 6a30dfc Built: Thu Aug 29 06:18:36 2019 OS/Arch: linux/arm Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.2 API version: 1.40 (minimum version 1.12) Go version: go1.12.8 Git commit: 6a30dfc Built: Thu Aug 29 06:12:41 2019 OS/Arch: linux/arm Experimental: false containerd: Version: 1.2.6 GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb runc: Version: 1.0.0-rc7+dev GitCommit: 029124da7af7360afa781a0234d1b083550f797c docker-init: Version: 0.18.0 GitCommit: fec3683
-
必要なら(毎回
sudo
をつけるのが面倒なら)現在のユーザーをdocker
グループに追加するsudo usermod -aG docker $USER sudo reboot now
docker-compose のインストール手順
Stretch と同じ手順なので、そちらをご覧ください。
メモリ不足によるビルドに失敗する場合
ラズパイ Zero のメモリのスワップサイズは 100 MB です。コンパイルだけでなく、イメージのビルドでも失敗することがあります。その場合は、スワップ・ファイルのサイズを増やします。
- ラズパイ Zero のスワップ領域の増やし方 @ Qiita
参考文献
- Docker-CE need updating for raspbian buster | Issue #709 | Docker @ GitHub
- How to install docker on a Raspberry Pi Zero W running Raspbian Buster @ markmcgookin