Question:
While diving into Docker, Google Cloud and Kubernetes, and without clearly understanding all three of them yet, it seems to me these products are overlapping, yet they’re not compatible.
For example, a docker-compose.yml
file needs to be re-written so an app can be deployed to Kubernetes.
Could someone provide a high-level, rough description of where Docker, Docker Compose, Docker Cloud, and Kubernetes overlap and where one is dependent on the other?
Best answer:
- Docker is the container technology that allows you to containerize your applications.
- Docker is the core of using other technologies.
- Docker Compose allows configuring and starting multiple Docker containers.
- Docker Compose 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.
- Docker Compose is used instead of all optional parameters when building and running a single docker container.
- 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 is a container orchestration tool developed by Google.
- Kubernetes’ goal is very similar to that for Docker Swarm.
- 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 cloud “partially” discontinued
The services on Docker Cloud that provide application, node, and swarm cluster management will be shutting down on May 21 [2020] ... automated builds and registry storage services, will not be affected and will continue to be available