GeekFactory

int128.hatenablog.com

CoffeeScriptのアプリをDockerイメージにする

CoffeeScriptで書いたアプリをDockerイメージとしてリリースする方法を説明します。Dockerを使うとNode.jsのインストールや依存関係の解決を手動でやる必要がなくなるので、他の環境でさくっとアプリを実行したい時に便利です。

以下の簡単なスクリプトを例に説明します。スクリプトの名前は app.coffee とします。

console.log 'hoge'

スクリプトを実行するための package.json を作成します。この時、 npm startスクリプトが実行されるようにします。

{
  "name": "example",
  "version": "1.0.0",
  "description": "CoffeeScript app example",
  "repository": {
    "type": "git",
    "url": "https://github.com/int128/example.git"
  },
  "main": "app.coffee",
  "scripts": {
    "start": "node_modules/coffee-script/bin/coffee app.coffee"
  },
  "author": "int128",
  "license": "Apache-2.0"
}

最後に Dockerfile を書きます。

from node:onbuild

イメージをビルドして、コンテナを実行します。

% docker build -t int128/example .
% docker run --rm int128/example

簡単ですね!

参考までに、私が公開しているslack-dockerというツールでも本記事で紹介した方法を採用しています。Dockerコンテナの開始や終了のイベントをSlackに通知してくれるツールです。

github.com