STAFF BLOG スタッフブログ

さくらの新サービス「Arukas」を試してみた

Dockerコンテナを簡単デプロイ


さくらから新しいDockerのホスティングサービス「Arukas」がリリースされました。
https://arukas.io

AWSやGCPは英語だったり料金プランが複雑だったりと取っ付きづらかったので避けてたのですが
国内発のサービスなのと、いつもVPSを使ってる安心感からArukasを試してみました。
料金も730時間(約ひと月)あたり¥540とわかりやすいので導入時のハードルは低い印象を受けました。

Dockerとは

コンテナ型の仮想環境を作成、配布、実行するためのプラットフォーム。

ざっくり言うと Node.js で npm install する感覚で環境が立てられる仕組み。
package.json に相当するものが Dockerfile になります。

Dockerを使うことで、メンバー間やサーバーとの環境の統一、
設定内容のGit管理が容易に行えるようになります。

Arukasでサイトを公開するまでの流れ

Dockerコンテナを実行するホスティングサービス。
PaaS(Herokuなど)を使ったことがある方は近いイメージだと思いますが、
こちらはコンテナの設定さえ済ませれば独自の環境が実行できるので
特定のサービスにロックインされずアプリケーションが実行できます。
今回は
Arukas: Freeプラン
GitHub: パブリックリポジトリ
Docker Hub: パブリックリポジトリ
で構築したので実際に動作させたソースを公開します。

GitHub
https://github.com/ria3100/arukas-hello-world

DockerHub
https://hub.docker.com/r/ria0130/arukas-hello-world/

公開したサイト
https://silly-keller-1835.arukascloud.io

1. GitHubの設定
まずは GitHub にリポジトリを作成し、
デプロイさせるアプリケーションと Dockerfile を登録します。

この時点でローカル環境の Docker で開発、確認ができます。

index.js
var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

Dockerfile
FROM node:0.10-onbuild
EXPOSE 3000
ENTRYPOINT ["npm", "start"]

2. Docker Hubの設定
つぎに Docker Hub にもリポジトリを作成するのですが、GitHubと連携する場合、
「Create Automated Build」を選択してください。

GitHubのリポジトリを指定することでGitの内容が自動で反映されるようになります。

3. Arukasの設定
Arukas に新しいアプリケーションを作成します。
この場合、Image に「ria0130/arukas-hello-world」、Portに「3000」を設定します。


これだけの設定で簡単にサイトを公開できます。
https://silly-keller-1835.arukascloud.io
Docker Hubにさえ登録できればあとはとても簡単なのでぜひお試しください。
INDEXブログ一覧へ
CONTACTお問い合わせはこちら