I am already familiar with docker/swarm, but find there occurs a "new" project: docker/swarmkit. But unfortunately, after reading the README, I still can't figure out what is the function of docker/swarmkit
. Could anyoone help to elaborate the relations between docker/swarm
and docker/swarmkit
? Why is docker/swarmkit
born?
The difference between Docker Swarm and Docker Compose is that Compose is used for configuring multiple containers in the same host. Docker Swarm is different in that it is a container orchestration tool. This means that Docker Swarm lets you connect containers to multiple hosts similar to Kubernetes.
Docker Compose is used for configuring and starting multiple Docker containers on the same host–so you don't have to start each container separately. Docker swarm is a container orchestration tool that allows you to run and connect containers on multiple hosts.
Docker Swarm mode is built into the Docker Engine.
Docker Swarm is a lightweight, easy-to-use orchestration tool with limited offerings compared to Kubernetes. In contrast, Kubernetes is complex but powerful and provides self-healing, auto-scaling capabilities out of the box.
Docker Swarm is an older (2014) Docker native orchestration tool. It is standalone from the Docker engine and serves to connect Docker engines together to form a cluster. It's then possible to connect to the Swarm and run containers on the cluster. Swarm has a few features:
Swarmkit is a new (2016) tool developed by the Docker team (most of which came out of the SocketPlane acquisition I believe) which provides functionality for running a cluster and distributing tasks (note: not necessarily Docker containers) to the machines in the cluster. The readme for Swarmkit is very good, and here are the main features as advertised:
Docker Swarm Mode (Version 1.12 >) uses Swarmkit libraries & functionality in order to make container orchestration over multiple hosts (a cluster) very simple & secure to operate. There is a new set of features (the main one being docker swarm
) which are now built into Docker itself to allow you to initiate a new Swarm and deploy tasks (which are Docker containers in this case, but don't have to be, see Swarmkit above) to that cluster.
As mentioned on the Docker Swarm page, it is not being deprecated, and is still a viable method for Docker multi-host orchestration, but Docker Swarm Mode (which uses the Swarmkit libraries under the hood) is the recommended way to begin a new Docker project where orchestration over multiple hosts is required.
As per this blog :
Swarmkit used within Swarm Mode ( 1.12) and tightly integrated with Docker Engine
https://sreeninet.wordpress.com/2016/07/14/comparing-swarm-swarmkit-and-swarm-mode/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With