Translate

2016年1月12日火曜日

Docker上でpublicイメージansi/mosquittoを使ってMosquittoをあげてみる



Proxy環境内で動作するMQTTブローカが必要になったので
DockerHubを検索してみた。

残念ながらOfficialがなかったので
一番ダウンロードの多い"ansi/mosquitto"を試してみた。

publicイメージなので、以下試したい人はat your own riskでやってください。



サイトのREADME.mdは超シンプル。

sudo docker pull ansi/mosquitto で取得して
sudo docker run -p 1883:1883 --name mosquitto -d ansi/mosquittoで実行しろ

としか書かれていない。

実行後、sudo docker exec -it mosquitto /bin/sh して
シェル対話実行可能状態にする。

Mosquitoには、コマンドでpublish/subscribeできる
コマンドmosquitto_pubmosquitto_subがあるので
Subscribeしたら標準出力させるように
mosquitto_subを使って動作確認してみる。

ldd /usr/local/bin/mosquitto_subすると、
/usr/local/libへのパスがないことがわかったので、
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib して
SOライブラリのパスを増やして
mosquitto_sub -t <Subscribeしたいトピック> で実行して
別のマシンでpublishしたらつながった。
#Publisher側プログラムがない人はmosquitto_pubを代わりに別ターミナルで動かせばいい

これで、
いちいちローカルにインストールしないでも
Mosquittoが使えるようになった。






ニワカIoT屋の人にもDocker環境は便利だ;-p

0 件のコメント:

手っ取り早くDonkey CarをBluetooth接続したジョイスティックで手動運転する

Donkey Carの操作でBluetoothのジョイスティックを使いたい.. ということでPS3やWii-Uコントローラの使い方を調べていた。 ともにRaspberry Pi側のbluetooth機能から 該当デバイスのMACアドレスを探して /dev/input/...