RaspberryPiのDockerでGitbucketを動かす


Raspberry Pi3を去年の夏くらいに買いまして、pythonでLチカしただけで放置しててさすがにもったいないなぁと思ってた矢先、ARMでもDockerが動くらしいという情報をネットで知ったのでやってみることにしました。
とは言え、docker runだけだとつまらないのでgitbucketとか、gitクローンが動いたら最高かもと思ってgitbucketを動かすことにしました。

環境

  • Raspberry Pi3
  • Rasbian
pi@raspberrypi:~ $ sudo cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.4.13-v7+ #894 SMP Mon Jun 13 13:13:27 BST 2016 armv7l GNU/Linux

Dockerのインストール

Raspberry  PiでDockerをインストールするのはめちゃ簡単で、ワンライナーを実行するだけです。

pi@raspberrypi:~ $ curl -sSL https://get.docker.com/ | sh

とは言え、私の環境だとなんかapt-get updateでコケまくってて、どうもミラーリストが死んでる?っぽいような状態だったので、ミラーリストを日本のに変更するなどしました。
普通にapt-get updateが動けば、問題なくインストールできると思われます。

pi@raspberrypi:~ $ sudo cat /etc/apt/sources.list
#deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://ftp.jaist.ac.jp/raspbian jessie main contrib non-free rpi
pi@raspberrypi:~ $ docker -v
Docker version 1.13.1, build 092cba3

2017/2/7現在では1.13.1がインストールされました。

Dockerイメージ

いつものようにdocker pullすると普通にイメージがダウンロードできるのですが、全てx86/64版なので、docker runしても起動できません。
raspberry pi用のイメージを有志たちが作っていて、頭に「rpi」がついたイメージであればraspberry piでも利用できるようです。
例えばnginxだとrpi-nginxというようなイメージ名となっています。
ただ、有志が作っているので、hub.docker.comで目的のイメージを探すと良さそうです。

gitbucketのイメージ

gitbucketもraspberry pi用のイメージを作ってくれている人がいて、イメージをダウンロードしてdocker runするだけで起動できます。

knjcode_rpi-gitbucket

docker run

ここまできたら、あとはコンテナを起動するだけです。

pi@raspberrypi:~ $ sudo docker run --name gitbucket -d -p 8080:8080 -p 29418:29418 -v ${PWD}/rpi-bitbucket/:/gitbucket knjcode/rpi-gitbucket

ブラウザでアクセスしてみる

ブラウザでアクセスしてみたところ、最初はアクセスできず。
というのも、やはりいくら4コアあるraspberry piとは言え、リソース不足。
LAも5を越えてしまって、かなり重たい状況になりました。

しかし、少し経つと段々落ち着いてきて、普通にログインできるようになりました。(デフォルト root/root でログイン可能です。)
試しにtestリポジトリを作ってみました。

起動直後と比べると圧倒的に軽くなりましたが、応答はやはり遅いです。
自宅でGit管理したいものに軽く使ってみようと思います。

おしまい。