LoginSignup
10
5

More than 3 years have passed since last update.

ラズパイ Zero W(ARM v6l)Buster Lite に Docker と docker-compose をインストールする手順【2019/09/29 版】

Last updated at Posted at 2019-09-29

🐒  2019/10/17 更新
従来通りのインストール手順でラズパイ Zero の Raspbian でも Docker をインストールできるようになりました!

Dockerは、これでOK!
curl https://get.docker.com | sh
docker-composeは、これでOK!
apt install docker-compose

以下は、公式(従来通り)の方法でインストールできない場合の、RaspberryPi Zero W に arm32v6 用 Docker CE と docker-compose をインストールする手順です。

Docker on Buster for RPi Zero W

TL;DR(ワンライナー)

Dockerのインストール(現在は不要)
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
docker-composeのインストール
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なしでdockerコマンドを実行する
sudo gpasswd -a $USER docker

🐒  注意: ARMv7 のラズパイ3や Intel マシンに比べて、ラズパイ Zero は ARMv6 なのでコンテナの作成や docker コマンドのレスポンスは正直に言ってモッタリです。それでも、コンテナが一旦起動すれば「速くはない。でもまぁ普通」って感じなので、起動速度よりメンテナンス/リカバリーや開発速度を優先したい場合は、ラズパイ Zero でもかなり有効だと感じました。

TS;DR

Docker のインストール手順

以下は、公式の方法でインストールできない場合の手順です。

  1. RaspberryPi Zero W に Buster Lite をインストール、ロケールの設定などを行う。

  2. 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
    
  3. 公式の Docker インストールスクリプトを実行する。

    $ sudo curl -sL get.docker.com | bash
    ...
    
  4. 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
    
  5. 必要なら(毎回 sudo をつけるのが面倒なら)現在のユーザーを docker グループに追加する

    sudo usermod -aG docker $USER
    sudo reboot now
    

docker-compose のインストール手順

Stretch と同じ手順なので、そちらをご覧ください。

メモリ不足によるビルドに失敗する場合

ラズパイ Zero のメモリのスワップサイズは 100 MB です。コンパイルだけでなく、イメージのビルドでも失敗することがあります。その場合は、スワップ・ファイルのサイズを増やします。

参考文献

10
5
0

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
10
5