ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Raspberry Pi 2 or 3でUbuntu Coreを動かしてDockerを動かす

Raspberry PiでDockerを動かす意味ですか?

…そんなのあるわけないですよ。

でも試してみたい人がいるかもしれないので、簡単に手順を書きたいと思います。

1. Raspberry Pi 2 or 3にUbuntu Coreをインストール

Raspberry Pi 2 か 3とmicroSD、USB電源ケーブルを用意します。 microSDは8GBくらいの安いやつでいいです。ただコンテナーをたくさん動かしたいなら、もうちょっと容量が大きめのものを選ぶといいと思います。32GBとか

以下の手順に従って、Ubuntu Coreのイメージのダウンロード、microSDへの書き込みを行います。 Ubuntuアカウントの登録と、アカウントへのSSHキーペアの登録を行います。

Raspberry Pi 2 or 3 | Developer

起動するとIPアドレスUbuntu SSOへのログインのセットアップを行います。設定はそれだけ。ちょっと待つとUbuntu Coreが起動します。

Ubuntu CoreはLinux Kernelベースで動きますが、aptコマンドはありません。その代わりにsnapコマンドを使います。snapコマンドで行うことができることはsnap --helpを実行すればわかります。

2. snapコマンドでdockerをインストール

次のように実行してインストールします。その後は一般的なDcokerの使い方通りです。ちなみにDockerで動かせるイメージはRaspberry Piで実行可能なイメージのみです(たいていのイメージには「rpi-」が付いています)。

$ sudo snap install docker
$ sudo docker pull jsurf/rpi-raspbian
$ sudo docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
jsurf/rpi-raspbian   latest              73c200c1b7a9        2 hours ago         127.6 MB

$ sudo docker run --name=cont1 -it jsurf/rpi-raspbian /bin/bash
root@13d0867db42e:/# cat /etc/debian_version
8.0

こんな感じで動かすことができます。簡単!

冒頭ではふざけてしまいましたが、Ubuntu Coreの上でアプリケーションを実行する利点は当然存在します。 Ubuntu CoreはUbuntuの基本的なセットのみを提供し、Ubuntu Coreの層にはあまり手を加えずにアプリケーションを載せることができるのでセキュアですし、その上展開も容易です。

Raspberry PiといったIoTデバイスでアプリケーションを動かすにはUbuntu Coreは最適だと思っています。

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。