概要
先日購入したラズパイ4Bですが省電力なplaggerサーバーとして使えそうなので作ってみました。
普通に作るのもいいですがデプロイするのにはやっぱりdockerかな?という事でarmなdockerイメージを作成してみました。
先に結論。制作物
dockerhubにRaspberryPiOS(32bit)で動くRaspberryPiOSLite(32bit)イメージ
wiz98/raspios_lite_armhf:2021-05-07_buster
と、そのベースで動くplaggerイメージ
wiz98/plagger:latest
をアップしました。
作成方法など
色々な作成方法があると思います。
その中で一番楽をしたかったので以下の方法をとりました。
まずarmなベースイメージを探しました。しかし自分がPullするとwarningが出たり思うようなベースじゃなかったりしたので「これは自分で作るしかないか」と思いググって情報を集め始めました。
その中で使えそうなのがbuildx方法とarmイメージ取り込み方法がありました。buildxはx86などのアーキテクチャでクロスコンパイル(?)するような方法で、もう一方は最初から用意されているrootイメージを取り込む方法でした。
簡単な方としては用意されているrootイメージを利用した方がよさそうに見えましたのでそちらを手に取りました。
buildxはまたの機会に触って行こうかなと思います。
レッツくっきんぐ
方法が見つかったのでトライしてみました。
dockerにはrootイメージのインポート機能があります。それを利用します。
rootイメージはraspberry公式からダウンロードします。公式はこちら
https://downloads.raspberrypi.org/raspios_lite_armhf/
ここからrootイメージをダウンロードします。なお面倒だったので全てラズパイ上で作業しています。
$ wget https://downloads.raspberrypi.org/raspios_lite_armhf/root.tar.xz
今度はdockerをインストールします。やり方は
Qiita : Raspberry Piにdockerをインストールする
を参照しました。docker-composeはまた今度にします。
dockerをインストールしたら以下の方法でrootイメージを読み込みます。
$ docker image import {rootイメージ} {dockerイメージタグ名}
実際には
$ docker image import root.tar.xz wiz98/raspios_lite_armhf:2021-05-07_buster
こんな感じです。これが終わるとイメージが作成されてdocker runが出来る状態になります。まずはベースイメージはこうしてdockerhubにアップロードしました。
docker runすると、まあ普通のRaspberryPIOSLiteです。ちょっとサイズ的には大きいですね。
後はPlaggerイメージの作成ですが、普通にbashでログインして必要なライブラリやperlモジュールのインストールを行い、動いた段階でcommitしてupしました。もしも他にも必要なモジュールやライブラリがあればPullしてからbashログインして追加すればOKです。どんどん利用していきましょう。
終わりに
どうでしたか?意外と簡単に出来たかなと思います。
今回は全てラズパイ上で行いましたがbuildxも挑戦してみたいです。
ちなみにこのイメージはメモリ上限4GBです。32bitだけに。
ラズパイ上でPlaggerが簡単に使えるようになると夢が広がります。
ちなみにx86なPlaggerはすでに作られているようなのでそちらをご利用下さい。
zoncoen/plagger
コメント