Eclipse Mosquitto is an open source implementation of a server for versions 5, 3.1.1, and 3.1 of the MQTT protocol. Main homepage: http://mosquitto.org/
%%LOGO%%
Cedalo provides commercial support, enterprise MQTT products, professional services and training for Eclipse Mosquitto.
Three directories have been created in the image to be used for configuration, persistent storage and logs.
/mosquitto/config
/mosquitto/data
/mosquitto/log
It is suggested to mirror this structure for your local configuration.
When running the image, the default configuration values are used. To use a custom configuration file, create your mosquitto.conf in $PWD/mosquitto/config/mosquitto.conf, then mount the config directory to /mosquitto/config.
$ docker run -it -p 1883:1883 -v "$PWD/mosquitto/config:/mosquitto/config" %%IMAGE%%
Configuration can be changed to:
/mosquitto/data/mosquitto/log/mosquitto.logi.e. add the following to mosquitto.conf:
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log
Note: If a volume is used, the data will persist between containers.
Run a container using the new image:
$ docker run -it -p 1883:1883 -v "$PWD/mosquitto/config:/mosquitto/config" -v /mosquitto/data -v /mosquitto/log %%IMAGE%%
or:
$ docker run -it -p 1883:1883 -v "$PWD/mosquitto/config:/mosquitto/config" -v "$PWD/mosquitto/data:/mosquitto/data" -v "$PWD/mosquitto/log:/mosquitto/log" %%IMAGE%%
Note: if the mosquitto configuration (mosquitto.conf) was modified to use non-default ports, the docker run command will need to be updated to expose the ports that have been configured.
For example, if you use port 1883 and port 8080:
$ docker run -it -p 1883:1883 -p 8080:8080 -v "$PWD/mosquitto/config:/mosquitto/config" %%IMAGE%%