Docker came a long way since i started to use it back in March 2013. It has now a bunch of real life applications and some neat helpers that will flip your head over. Check out this list:
While most developers and administrators to create and run Docker containers via the command line, API Remote Docker allows them to run the same commands via a RESTful API. DockerUI. This front-end Web allows you to handle many tasks normally run from a command line web browser. All containers in a given host can be manipulated through a single connection, and the project has almost no dependencies. It is, however, under strong development, but is MIT-licensed, so it can be reused rather freely. In addition, it contains built-in authentication or security, so do not forget to put any connections DockerUI publicly exposed after something with a password on it.
If you want to give users shell access but are wary of the complications of security Dockersh-ized Docker offers a way to provide shell sessions safely above average.
Dockersh allows multiple users to connect to a particular box, with each user running a shell generated from a separate Docker container of your choice. Users can see your home directory and make persistent changes to it, but they can only see their own processes and may only use your private network stack. The creators are fearful of possible security breaches Dockersh not recommend for unrestricted public access, at least not until Docker adds improvements accordingly. But just the concept makes this one to watch.
Heroku was (and to some extent still is) a PaaS highlighted with broad language support but Docker makes it possible to do the job PaaS as almost anywhere. To this end, those looking for ways to migrate existing projects to Heroku without Docker rebuild them from scratch need look no further. This little simple project takes an existing Heroku app and converts it into a Docker image from the command line, with no more than a few needed to run the entire operation commands.
No discussion of third-party Docker projects would be complete without mention of Kubernetes, an open source Docker management tool developed by Google for deploying containers across clusters of computers. Aside from helping to manage workloads for Docker nodes by keeping container deployments balanced across a cluster, Kubernetes also provides ways for containers to communicate with each other, minus the need to open network ports or perform other hacks. These features and the fact that Kubernetes is written in Go -- the same language as Docker -- strongly suggest it will be rolled into Docker at some point in the future.
DIND -- Docker-in-Docker
Docker-in-Docker is exactly what it sounds like: a way for you to run Docker Docker inside containers made possible in Docker 0.6 by adding the privileged mode for containers. "Inception", anyone?
Tricks and jokes aside, this is useful if you want to equip itself as a service for Docker Docker containers - for example, if you want to experiment with an automation tool or methodology. Note that the "inside" of docker instance is the most recent torque docker, which is recovered from docker.io when it is built. Also keep in mind that cases that work this way do so in privileged mode; as such, you need to take more precautions when exposing them to the world-not Dockerized out.
Docker automation tools are a kind of commodity. After all, is not the whole point of automation snap easier? But AutoDock stands out with some differences. It was designed to work in environments that use salt and SaltStack as the main automation technology and is specifically designed to do the wiring of new containers as soon as possible, determining which servers in a given cluster Docker has the lowest load. One possible gripe is the number of ingredients needed to make it work (SaltStack, golang, ETCD, Python).
Docker yet provides a way to manage the logs generated by the programs that run within containers Docker. Logspout one Docker container weighs 14MB and uses BusyBox as its core, you can record through the application to a single central location, such as a single JSON object or an end point for streaming available through a container of the HTTP API. Logspout is currently limited in terms of what can be collected, as it can only stdout and stderr output of a container, but there are plans to allow more complete record as soon as Docker provides hooks for him. Keep an eye on this for the future.
Shipyard uses the toolkit Citadel cluster management to facilitate the management of all containers Docker spanning multiple hosts. Through a web interface, you can quickly get information about the amount of CPU or memory are using their containers and that the containers are running as well as examine a record of events in all groups. The full API and CLI is included, and the mating-built images (also known as images of extension) can be used to extend the functionality of the yard. The latter concept is still a work in progress, but the image load balancing / routing is available through the interlocking design.