個人的なNode.jsの開発環境用Dockerfileを書いた

内容はほぼシェルです。

dockerfiles/develop-nodejs at master · demiglacesource/dockerfiles · GitHub

本番環境用のDockerfileであればsshはインストールしないと思うけど、今回は開発環境用途のためsshも使えるようにしています。
パスワードがシンプルなのですが、気にしないでください。
(鍵を使うようにしろとかもあるかもしれない)

※2015/6/29追記
openssh-serverの設定云々は削除しました。docker execで良いじゃないと言うのが理由です。

nvm installするところで少しハマったのが、以下の部分。

RUN source /root/.bashrc && nvm install v0.12.0

個人的にはコマンドをワンライナーで実行するのはあまり好きではないのだが、こうしないとnvmコマンドが無いと言われてしまいNode.jsのインストールに失敗してしまう。

恐らくDockerはDockerfileの1行1行でコンテナを作っているので、行単位で環境変数が違っているんだろうなぁと推測。
上記のような実行の仕方に落ち着きました。

あとMariaDBなんかも入れていますが、簡単なスクリプトを書く程度のことであれば使わないこともあるため自動起動などはしないようにしています。
そもそもDBを同じコンテナに入れるのはDockerの思想的にどうなの、とかはあると思いますが、そこはあくまで個人的な開発環境なので良いかなと。

しかしsshを有効にしてるんやったら、Ansibleで構築するようにしても良かったかもしれんなぁ・・・
AnsibleはPackerから使おうとした時に、ansible-localのChef Solo感に嫌気がさして挫折中。

またどっかで勉強します。