What’s the difference between docker compose and Kubernetes?
What’s the difference between docker compose and kubernetes? - Stack Overflow
Docker
Docker is the container technology that allows you to containerize your applications. Docker is the core for using the other technologies.
Docker Compose
Allows configuring and starting multiple docker containers. This is mostly used as a helper when you want to start multiple docker containers and don’t want to start each one separately using docker run … . Docker compose is used for starting containers on the same host.
To short
::docker-compose:: is a tool that takes a YAML file which describes your multi-container application and helps you create, start/stop, remove all those containers without having to type multiple docker ... commands for each container.
from the docs
Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.
Compose has commands for managing the whole lifecycle of your application: * Start, stop, and rebuild services * View the status of running services * Stream the log output of running services * Run a one-off command on a service
Docker Swarm
Docker swarm is for running and connecting containers on multiple hosts. Docker swarm is a container cluster management and orchestration tool. It manages containers running on multiple hosts and does things like scaling, starting a new container when one crashes, networking containers…
Docker swarm is docker in production. It is the native docker orchestration tool that is embedded in the Docker Engine.
The docker swarm file named stack file is very similar to a docker compose file.
Kubernetes
A container orchestration tool developed by Google. Kubernetes goal is very similar as that for Docker swarm.
To short
::Kubernetes:: is a platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.
from Introduction to Kubernetes
Introduction to Kubernetes Kubernetes is a container orchestrator like Docker Swarm, Mesos Marathon, Amazon ECS, Hashicorp Nomad. Container orchestrators are the tools which group hosts together to form a cluster, and help us make sure applications: * are fault-tolerant, * can scale, and do this on-demand * use resources optimally * can discover other applications automatically, and communicate with each other * are accessible from the external world * can update/rollback without any downtime.
The kind of problems Kubernetes tries to solve:
12-factor apps
Automatic bin packing
self-healing mechanisms,
Horizontal scaling,
Service discovery and Load balancing,
Automated rollouts and rollbacks,
Blue-Green deployments / Canary deployments
Secrets and configuration management,
Storage orchestration
Docker Cloud
A paid enterprise docker service that allows you to build and run containers on cloud servers or local servers. It provides a Web UI and a central control panel to run and manage containers while providing all the docker features in a user friendly Web interface.
Update:
Docker - Docker Cloud Migration Notification and FAQs
The services on Docker Cloud that provide application, node, and swarm cluster management will be shutting down on May 21… automated builds and registry storage services, will not be affected and will continue to be available
docker #docker-compose #kubernetes #docker-swarm














