Raspberry Pi ZERO(W) Raspbian stretch lite Docker

Raspberry Pi ZERO(W) on Alpine Linux(3.8.1)ではdockerの動作に不具合がみられました。

今回は本家Raspbian stretch liteの環境でdockerを試してみたいと思います。

テスト環境

ZERO(W)ではeth0が無いとdockerはうまく走ってくれないのでAlpine Linuxで試したときと同様に以前試したジャンクなエレコム LD-USB/Tをぶら下げます。LANケーブルなしwifi接続です。
10Mタイプと遅いのですがwifi接続も相応に遅くなる感じがします。
ssh接続でのコマンド操作には特に問題がないのでOK

stretch liteインストール

インストールは8GBのカードで2018-06-27-raspbian-stretch-lite.imgをddしています。
通常通りddしたあとパーテーションエディタ(gparted)で未使用の領域に新たにパーテーションを切ります。
ホスト側には最低限の使いやすいツールとdocker関連をインストール

画像は今回の全てのインストールが終了の状態
Alpine Linuxのときと同様にmmcblk0p3をdockerに割り当てています
マウントはインストール後動作確認してから
パーテーションを切り直した時はPTUUIDが変わるので注意

raspbianコンテナ

今回もnginx + phpを作成してみます。
nginxはaptからパッケージをインストールしてみました。

$ docker pull schachr/raspbian-stretch
$ docker container run --privileged -d -p 80:80 --name nginx_raspbian schachr/raspbian-stretch /bin/systemd
$ docker container exec -it nginx_raspbian /bin/bash
コンテナに入って
# apt update
# apt install -y vim less nginx php7.0-fpm
# nginx -v
nginx version: nginx/1.10.3

nginx,php7.0-fpm設定

/etc/nginx/sites-available/default
    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm index.nginx-debian.html;

    # pass PHP scripts to FastCGI server
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }
/var/www/html/phpinfo.php
<?php
phpinfo();
?>
# systemctl enable nginx
# systemctl enable php7.0-fpm
# systemctl start nginx
# systemctl start php7.0-fpm

alpineコンテナ

alpineコンテナの作成は前回と全く同じです。

$ docker pull alpine
$ docker container run --privileged -d -p80:80 --name nginx_alpine alpine /sbin/init
$ docker container exec -it nginx_alpine /bin/sh
コンテナに入って
# apk update
# apk add openrc bash nginx php7-fpm


各設定ファイル編集
コンテナスタート時デーモン起動
コンテナをリスタート

commitしてイメージサイス確認

raspbianコンテナのnginxはパッケージから導入したので若干サイズが違いますがalpineコンテナは全く同じになっています。
流石にホストOSとしてのraspbianは伊達にイメージサイズが大きい訳ではありませんね。テストの範囲ではどちらも問題なく動作します。

Raspberry Piシリーズで走るdockerのホストOS(raspbian,alpine)、コンテナの傾向が大体わかってきました。alpineもまだライブラリが不足している部分があるのでraspbianコンテナが正常に停止してくれるといいのですがいずれ改善されていくものと思います。

# tips
/etc/motdのアスキー文字はText to ASCII Art Generator (TAAG) – patorjk.comで簡単に作成してくれます。
たまにログイン先を間違えて編集しようとします。
味気ないログイン画面が少しだけハッピー!