表題の通り。先日は`nodebrew`を使ってローカルのMacに`node`を使える環境にしたが、最近はDocker上で`node`のコンテナを上げる事の方が多かったりする。
■ 環境
- Node 5.5.0
- Docker 1.10.0
- Docker Machine 0.6.0
■ コンテナ取得
コンテナを`pull`する。DockerHubを確認すると、”5.5.0“が最新のようである。”latest“タグも同じ”5.5.0“に付いているようなのでタグは指定しないで取得することにした。
$ docker pull node
取得後は下記の通り。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
node latest baa18fdeb577 13 days ago 643 MB
$
■ コンテナ起動
node関連のプロジェクトを置いているローカルマシンのディレクトリに移動し、コンテナを起動する。起動オプションには`-v`でそのディレクトリをコンテナがマウントするようにする。
$ cd ~/work/projcet
$ docker run -ti --rm -v `pwd`:/src node bash
root@f786b01456f2:/# which node
/usr/local/bin/node
root@f786b01456f2:/# node -v
v5.5.0
root@f786b01456f2:/#
root@f786b01456f2:/# which npm
/usr/local/bin/npm
root@f786b01456f2:/# npm -v
3.3.12
root@f786b01456f2:/#
後は起動時のオプションで指定したディレクトリで`node`コマンドを実行すれば、普段と何も変わらず開発ができる。コンテナを起動するときに`–rm`オプションを付けているのでコンテナから一時的にログアウトする時は`Ctrl-P Q`で抜ける必要がある。特に不要であれば通常通りログアウトすればコンテナも削除される。
以上。