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に通知してくれるツールです。