2014年9月13日土曜日

Docker で Node OS を動かせ on Azure

Node OS というLinuxディストリビューションが出ました。
コマンドがNode.jsで実装されているとのこと。
http://node-os.com/

もちろん、Azureで動かしてみます。
ただし、公式サイトのドキュメントではDockerで動作させているので、
それに倣ってDockerでやってみます。

もの凄くシンプルに、以下の通りに実行します。

# docker -i -t nodeos/nodeos

イメージをダウンロードして、デフォルトのシェルである「nsh」が実行されます。
どんなコマンドがあるのか、/binと/usr/binの下を見てみます。

/ # ls /bin/
[ 'init', 'ip', 'node', 'npkg', 'npm', 'sh' ]

/ # ls /usr/bin

[ 'env' ]

まだコマンドは少ないですね。
パッケージは「npkg」コマンドでインストールできます。
パッケージはここにあるようです。

なお、サンプルにあった bin-ncurl はインストールに失敗してました…

次は /etc の下を見てみます。
/ # ls /etc/
[ 'hostname', 'hosts', 'mtab', 'resolv.conf' ]

必要最小限でしょうか。

さて、コマンドは /root/bin にもあるようです。
その中のcatコマンドのソースを覗いてみましょう。

/root/bin # cat cat
#!/usr/bin/env node

var fs = require('fs');
var fi = 2;

var arg;

function cat( file ){
  var stream = fs.createReadStream( file )
  stream.on('close',function(){
    if( arg = process.argv[fi++] ) cat(arg);
  });
  stream.pipe(process.stdout);
}

if( arg = process.argv[fi++] ) cat(arg);

マジでNode.jsですw

胸熱なディストリビューションがまた増えましたね。


0 件のコメント: