mosquitto/docker/1.4.8
David Audet 5487395fb6 Adding Dockerfiles to build versioned Docker images (#226)
* Adding Dockerfiles to build versioned Docker images

Dockerfiles have been added to create Docker
images for Mosquitto v1.4.4 and v1.4.8 using Alpine
Linux as a base.

Different directories have been added for each version
to decouple the configuration and entrypoint scripts.
Currently they contain the same content, but this could
change in the future.

Docker Hub will also need to pull from specific directories
when official docker images will be built and hosted on
Docker Hub.

* Removing unnecessary default config and volumes

Mount points are created in the image, but volumes are not automatically
created. The user can still create volumes for these mount points, but is
not required to.

The default configuration file is now copied from /etc/mosquitto/mosquitto.conf
to /mosquitto/config/mosquitto.conf. The user can override this file by
mounting a local configuration file to /mosquitto/config.

Signed-off-by: David Audet <david.audet@ca.com>
2016-09-21 21:35:05 +01:00
..
docker-entrypoint.sh Adding Dockerfiles to build versioned Docker images (#226) 2016-09-21 21:35:05 +01:00
Dockerfile Adding Dockerfiles to build versioned Docker images (#226) 2016-09-21 21:35:05 +01:00
README.md Adding Dockerfiles to build versioned Docker images (#226) 2016-09-21 21:35:05 +01:00

#Eclipse Mosquitto v1.4.8 Docker Image

##Mount Points

Three mount points have been created in the image to be used for configuration, persistent storage and logs.

/mosquitto/config
/mosquitto/data
/mosquitto/log

##Configuration

When running the image, the default configuration values are used. To use a custom configuration file, mount a local configuration file to /mosquitto/conf/mosquitto.conf

docker run -it -p 1883:1883 -p 9001:9001 -v mosquitto.conf:/mosquitto/data/mosquitto.conf mosquitto:1.4.8

Configuration can be changed to:

  • persist data to /mosquitto/data
  • log to /mosquitto/log/mosquitto.log

i.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.

##Build Build the image:

docker build -t mosquitto:1.4.8 .

##Run Run a container using the new image:

docker run -it -p 1883:1883 -p 9001:9001 -v mosquitto.conf:/mosquitto/data/mosquitto.conf -v /mosquitto/data -v /mosquitto/log mosquitto:1.4.8

💥 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.