読者です 読者をやめる 読者になる 読者になる

そんな今日この頃の技術ネタ

本家側に書くほどでもない小ネタ用

Arukas使ってみた

さくらインターネットさんがDockerコンテナのホスティングサービス「Arukas」のオープンβを開始したそうな。

www.sakura.ad.jp

しばらくは無料で使えるとのことなので、物は試しと早速使ってみた。

arukas.io


コンテナの起動まで

Githubアカウントでも登録できるということでサクッとアカウント作成。

シンプルなダッシュボードが表示される。

f:id:blue1st:20160428004431p:plain

「新しいアプリケーションを作成」ボタンから作成画面へ。

普段Dockerを使用している人なら特に迷うところの無いような、 起動時のパラメータに相当するシンプルな設定項目が表示される。

f:id:blue1st:20160428004558p:plain

各所に項目を入力して設定。

後述するが1コンテナで完結する必要があるので、手近なところでGrowthForecastを例としてみる。

blue1st.hateblo.jp

f:id:blue1st:20160428004625p:plain

設定を保存後、起動ボタンをクリックすると「デプロイ中」と表示が出て、 少し待つと起動しURLが表示される。

f:id:blue1st:20160428004746p:plain

f:id:blue1st:20160428004839p:plain

f:id:blue1st:20160428004857p:plain

「Port」の項に表示されるURLにアクセスしてみると見事起動していることが確認できる。

※ちょっと待つと「Name」の項のURLでアクセスできるようにもなったのだが…ポート設定の関係でデザインが崩れてしまっていた。この辺は起動時のオプションを弄る必要があるっぽい。

f:id:blue1st:20160428005351p:plain

また、「watch」ボタンを押すことで、いわゆるdocker logs的なログを確認することができる。

f:id:blue1st:20160428005405p:plain

今回生成されたアドレスに対してデータを投げ込んでみると… データが登録され、グラフ化されることが確認できる。

curl -XPOST http://seaof-153-125-231-146.jp-tokyo-01.arukascloud.io:31996/api/test1/test2/test3 -d number=12345
{"data":{"md5":"c4ca4238a0b923820dcc509a6f75849b","unit":"","adjustval":"1","meta":null,"ulimit":1000000000000000,"graph_name":"test3","sulimit":100000,"description":"","section_name":"test2","service_name":"test1","gmode":"gauge","created_at":"2016/04/28 00:22:25","timestamp":null,"id":1,"sort":0,"llimit":-1000000000,"mode":"gauge","color":"#336699","stype":"AREA","updated_at":"2016/04/28 00:22:25","type":"AREA","adjust":"*","number":12345,"sllimit":-100000},"error":0}

f:id:blue1st:20160428005432p:plain


で、どう使おう…?

そんなわけで非常に手軽にDockerコンテナをホスティングしてくれる面白いサービスではあるのだが、 今の仕様だとどう使っていけば良いのか正直なところ掴みかねている。

まず第一の不満点はlink機能が使えない点で、 Docker界隈で最近主流になっている単機能のコンテナをつなぎあわせて機能を実現する構成が使えない。

support.arukas.io

また、自分でサーバ立てる場合と違ってホストのファイルをマウントすることができないので、 汎用的なイメージを用いてミドルウェアの設定ファイルを書き換えたりアプリケーションのコードを動かしたりといったことができない。

この二点を鑑みると、部品を組み合わせる運用というよりはVMのような全部入りの運用したくなるところだが、 そうなってくると現状ではリポジトリとしてはオープンなDockerHubしか対応していないのが辛いところ。

グローバルな環境にバックエンドを用意しておいて、 環境変数で設定が完結するようなフロントエンドのコンテナを使ってバックエンドにつなぐ感じにしてホスティングする、 みたいな感じが現実的なところだろうか?


とりあえずはまだ始まったばかりということで、今後の発展を見守りたいところ。

ダッシュボードにあるAPIキーなんかもまだドキュメントが無いし…

Arukas Help Center

全容が見えてくれば、何がしか使いようが見えてくるかもしれない。

追記

こういうのもあるっぽい。

github.com

暇見つけていじってみたい。