A good example here is docker service logs, which is an equivalent of the log viewer for Docker Swarm (the cluster orchestrating system for Docker). What works perfectly for a single machine might not be so great in a cluster. This is a completely different set of problems, and Docker cannot solve them. IT Ops, who maintain the systems, find other things important as well: the guarantee that the logs won’t get lost, their retention, the speed with which they fill up disk space. It also provided access to the interface in the form of docker logs commands to read those logs.įor developers, it’s very convenient to have a single tool to view app logs written in Java, Node, PHP, or other languages.
It was enough for an app to log to Linux streams stdout oraz stderr, and Docker collected and stored logs locally. This gave room for standardising and simplifying the application architecture. Various implementations of components like logging have emerged. Over the years, Docker Engine has grown and evolved into a modular architecture.
Trying to imagine what a big company might do based on your own experience is an interesting mental exercise, which allows you to look from a distance at corporations that produce the technologies you use. I rely on official press releases and my observation of the market. I haven’t seen Mirantis’s contract with Docker, Inc., or their strategy. Mirantis’s technical debt will rise (more on that below). What does that change? The situation resembles that related to Docker Swarm. They explained that their current customers used more complex Kubernetes installations, which were dependent on specific Docker Engine features. Later in December, Mirantis announced that they were not going to support dockershim (Docker’s adapter to the CRI interface) with Docker, Inc. Mirantis takes care of the current enterprise customers The question is: if Mirantis makes money on Kubernetes-as-a-service for enterprise clients, and Kubernetes removes Docker support, what is that all about? From my point of view, a company that profits from Kubernetes has no reason to invest in Docker once it is no longer supported by Kubernetes. What is the agenda of Mirantis (owner of Docker Enterprise)? Docker requires the dockershim adapter, which is precisely what the programmers supporting Kubernetes want to get rid of. At present, only containerd and cri-o are compatible with the CRI. Thanks to the introduction of the CRI standard (Container Runtime Interface), these components can be changed. Kubernetes brings Docker down to the level of a component which runs the containers. Kubernetes can do the same within a cluster composed of a couple of computers. Docker (or Docker Compose) helps run various processes, combine them in a network, and attribute storage within one computer.
If the Docker container is an equivalent of a virtual machine, Kubernetes is like a hosting or cloud provider. Compared do Docker, it operates on a higher level, as it controls many containers on many machines. It is also responsible for the lifecycle of the containers and joining them into Pods. Kubernetes is an orchestration system which manages several containers and attributes resources to them (CPU, RAM, storage) from a number of machines in the cluster.