Originally published at: https://www.influxdata.com/blog/influxdata-and-docker/
Getting ready for the 2017 DockerCon this past week has had me thinking about all of the different ways we use Docker at InfluxData. From our official images, backing InfluxCloud, and in our everyday development work. Furthermore, we share a commitment to open source and here are a couple of ways the two are great together.
Shared Commitment to Open SourceBoth Docker and InfluxData are major open source contributors. All of InfluxData's major projects InfluxDB, Kapacitor, Telegraf, and Chronograf as well as Docker's Docker Community Edition and ContainerD are open source. Developers trust open source software due to its inherent visibility, transparency, and active communities behind the projects—characteristics shared by both Docker and InfluxData.
InfluxData Sandbox and the Official Docker ImagesWe recently launched InfluxData's official Sandbox for experimenting with the full TICK Stack in an easy-to–get-started way. It is at its core a
docker-compose.ymlfile and a script to help users unfamiliar with docker accomplish common tasks.
With millions of pulls, the images behind sandbox are production tested and included in the official Docker image repository. I know this has saved me a bunch of time, and really helps me get started on projects quickly! Want to spin up monitoring for an IOT side project? Need to do a proof of concept for your new monitoring system? No problem. There is also an example
docker-compose file in the sandbox if you want to run the full stack together and want a place to start. Here are the links to our official Docker images:
Autoscaling and DockerWe recently did a webinar on how to automatically scale containers running on Docker Swarm, or the infrastructure underlying those containers, using the TICK stack. We wrote a small Golang program called Orbiter to make sending scaling messages to different providers a breeze. For the webinar, we implemented Digital Ocean and Docker Swarm as scaling targets.
Using Kapacitor to trigger autoscaling makes it very easy to setup, and allows you to target different metrics to scale on. Want to scale your RabbitMQ Cluster based on queue depth, or your Nginx servers based on requests per second? No problem with Orbiter and the TICK Stack.
In addition to scaling Docker Swarm we also have a Kapacitor alert handler to scale Kubernetes deployments based on any metric you choose. Want to scale your CI workers based on … the weather outside? Well that might be getting carried away, but with a Raspberry Pi and some gumption you could make it happen!