【チャレンジ精神】NodeRedを試してみる その3 | 一人男子会

一人男子会

何となく思った事を書いていきます。(ピグ関連含む)

50_03_title


さぁ、CoreOSも動いたし、
いよいよ俺のターン。


手始めにdocker-composeを入れる。

docker-composeとは、
複数コンテナを連動させる際に超便利モノだ。


こいつを使い始めてから、
たった一つでもdocker-compose.ymlを書き始める事請け合い。


50_03_01
使い始めの頃の気分


インストール手順はココを参照。


sudo mkdir /opt/bin
curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > docker-compose
chmod +x docker-compose
sudo mv docker-compose /opt/bin/docker-compose
docker-compose -version


50_03_02
いい感じ。


NodeREDのコンテナ作成前に
こちらで軽く勉強しておく。


とりあえず、
1.Node.jsの0.10.x以上を入れる
2.npm install でnode-red入れる
3.grunt buildしてしまえば後はnoderedで実行
ぐらいか。


Node.jsっていつの間にか
v4.2.3まで上がってたのね。

年を感じる。


さっそくDockerfileを書き書き

mkdir node-red-src && cd node-red-src && vi Dockerfile.sh

Dockerfile
FROM ubuntu:14.04

RUN apt-get -y update && \
apt-get -y upgrade && \
apt-get -y install wget git curl gcc build-essential python && \
apt-get remove --purge node && \
wget https://nodejs.org/dist/v4.2.3/node-v4.2.3.tar.gz && \
tar -xzvf node-v4.2.3.tar.gz && \
cd node-v4.2.3 && \
./configure && \
make && \
make install && \
cd .. && \
rm -r -f -d node-v4.2.3 && \
rm node-v4.2.3.tar.gz && \
git clone https://github.com/node-red/node-red.git && \
cd node-red && \
npm install && \
npm install -g grunt-cli && \
grunt build

EXPOSE 1880

ENTRYPOINT ["run.sh"]
CMD ["nodered"]


ついでにrun.shを書き書き

mkdir node-red-config && cd node-red-config && touch run.sh && chmod +x run.sh
&& vi run.sh

#!/bin/bash

if [ "${1}" == 'nodered' ] ; then
cd /node-red
node red
tail -f /dev/null
else
exec "$@"
fi



で、docker-compose.ymlを書き書き

nodered:
images: nodered
volumes:
- ${PWD}/node-red-config/run.sh:/run.sh
ports:
- "1880:1880"



実行
docker-compose up -d


50_03_03
うん、起動してる。

さっそくNode-Redを起動してみる。
50_03_04
おぉ。


フローを書いて行く。
http->template->http responseね。


50_03_05
とりあえず、まんま返す。


ブラウザからアクセスしてみる。
50_03_06
すげえなNodeRED


次回はmongoDBにデータ突っ込んでみる。


50_03_last
一部の画像はこちらから利用させていただきました。