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_pub、mosquitto_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 件のコメント:
コメントを投稿