0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

mosquittoのDockerImageを動かしてみる

Last updated at Posted at 2020-02-05

#Mosquittoをwindows10上でDockerで動かしてみる
MosquittoはOpenSourceのMQTTブローカーです。この記事ではwindows10上でMosqiuttoのDockerイメージを動かすまでの手順について説明します。

##MosquittoをDockerで動かす理由
Mosquitto自体はWindows上に簡単にインストールして動かすことが出来ます。しかしながらWindows版でWebSocketをサポートするには自分でソースからビルドしないといけないようです。(Macならそのまま使えます)
そこで、Docker Hubで検索してみたところ以下のイメージがあったので、使ってみることにしました。

https://hub.docker.com/_/eclipse-mosquitto
##eclipse-mosquittoの実行
実行に関しては非常に簡単です。以下のコマンドでイメージを取得して実行します。
デフォルトの構成ファイルでは1883ポートでMQTTのポートがオープンします。
docker run -it -p 1883:1883 eclipse-mosquitto
##構成ファイルの指定
デフォルトの構成ではMQTTのみのサポートのため、構成ファイルを指定してwebsocketのリスナーも起動します。今回はローカルにインストールしたMosquittoの構成ファイルの以下の記述を追加しました。

mqtt.conf
listener 1883
listener 9001
protocol websockets

以上の設定で、MQTTは1883、websocketsは9001のポートを使用するようになります。
起動時に-vオプションで構成ファイルを明示的に指定します。
なお、ファイルの場所は絶対パスで指定しないと駄目なようです。

$ docker run -it -p 1883:1883 -p 9001:9001 -v C:\mosquitto\mosquitto.conf:/mosquitto/config/mosquitto.conf eclipse-mosquitto

実行結果

C:\mosquitto>docker run -it -p 1883:1883 -p 9001:9001 -v C:\mosquitto\mosquitto.conf:/mosquitto/config/mosquitto.conf eclipse-mosquitto
1580886921: mosquitto version 1.6.8 starting
1580886921: Config loaded from /mosquitto/config/mosquitto.conf.
1580886921: Opening websockets listen socket on port 9001.
1580886921: Opening ipv4 listen socket on port 1883.
1580886921: Opening ipv6 listen socket on port 1883.

##まとめ
Dockerを用いることで簡単にローカルでMosquittoを起動することができました。
次のステップとしてDockerイメージをビルドしてIBM Cloud上で動作させたいと思っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?