Is the Docker and Container are same?
Is the Docker and Container are same?
I thrilled in this new year with the learning curve of cloud native and containerization technologies. We’ve many blogs, few books, but I asked my team mates and community friends Whats is Docker? and What is Container? For that I got different set of answers, but if in summary lot of answers are concluding that Docker is equal to Container. That encourages me to share the this post called “ Is Docker and Container is same?.
And the answer for the above is No, Docker is not equal to Container, let’s slice and dice to understand why? We will start with history of Hypervisor and then to Container Architecture.
Initially to run any applications we need physical server, and pitfalls of procurement time, upfront capex and ongoing opex leads to Hypervisor architecture. The Hypervisor architecture helps and allows multiple apps per server; but even the Hypervisor architecture had pitfalls like each OS will uses CPU, RAM, disk, cost for the license, and even it needs same time of admins help to maintain the hypervisor based approach. But no doubt it’s very better than physical server architecture, brings business more usage of server resource. Still we have the problem, hence the container approach of architecture solves the pitfalls of could be Hypervisor architecture and which leads to Virtualization 2.0; which is more efficient than Hypervisor virtualization.
Below diagram shows the difference, and picture credits to @nigelpoulton
So let’s understand that platform behind the Container technology is Docker, which is one of the platform and we have many in the same line like DC/OS, rkt. Let’s now understand the Docker Inc, Docker Project, and Open Container Initiative, which is the vendor neutral core of Container ecosystem.
DotCloud is a second generation PaaS platform that is the commercial entity behind Docker. And in that there was an internal project(now it’s called Docker), but it saved the bankrupt . Then later but later the dotCloud to cloudControl. Docker Inc is not owning the Docker project, but they are the major contributor and it’s governed by open source ecosystem.
It’s is open source project under Apache License 2.0, and the Docker project has multiple tools and to the core it has Docker Engine. The Docker project is supported by small and very large enterprise organization in the world. It follows a time-based, usually by every two months. Docker and container technologies can handle very well the stateful and stateless workloads, and stateless is something does not keep any changes or data, but stateful workloads keeps it’s changes & data. And containers are great at modern cloud native apps building and deployment; which is far better than Virtual Machine of hypervisor based. And it the context to stateful apps the Docker storage backend is now easily pluggable and portable. Hence the stateful workloads are becoming first-class citizens in the Docker world. Hence the Containers do a great job with stateless and stateful.
It is a cloud-based registry service which allows you to link to code repositories, build your images and test them, stores manually pushed images, and links to Docker Cloud so you can deploy images to your hosts. It’s the official Docker registry and has 3rd party registries. It contains public and private registries. The private repos are to run inside organization, which are very secured and delivered by Docker Trusted Registry. Hence container registries are becoming central to application infrastructure and application delivery. And we have many container registries are available, example Quay.io, etc.,
Container orchestration helps to orchestrate thousand of containers deployed on the hundred of hosts and it also helps us scale our application and provision infrastructure. Docker orchestration products includes Docker Machine, Docker Compose, and Docker Swarm. But we have many projects like Kubernetes; which thrives the container orchestration from Google, Mesosphere DCOS, Core OS fleet, etcd, OpenStack Magnum.
Open Container Initiative:
OCI (Open Container Initiative) is the light weight governance council, brings standardize container format, standardize container runtime, vendor neutral ( Docker, CoreOS rkt), and platform neutral; which is formed in 2015 operates under the Linux Foundation. @nigel excellently analogies OCI is something like to deciding on the specs of the rail tracks….so we can concentrate on building better trains.
Then finally every developer, architects and executives will have default question whether the container technologies are ready for production and enterprise. And the answer would be it depends. But Docker Engine version 1.10, is claimed for prod ready, and it’s delivered in three flavors like experimental, stable, commercial. In this Docker Swarm, a native docker clustering is shipped. Docker Content Trust is the team and software ecosystem responsible to verify the content and publisher, which is simple security but it’s in enterprise level.
So the conclusion is Container is not equal to Docker, But Docker is one of the thriving platform in the container ecosystem, but absolutely Docker thrives the ecosystem. And similarly we have Mesosphere, CoreOS, etc., It’s some thing like Big Data is not equal to Hadoop.
Please subscribe dataottam blog to keep yourself up-to-the-minute on ABC of Data (Artificial Intelligence, Big Data, Blockchain, Cloud Computing, and Cognitive Computing).
Reach us via firstname.lastname@example.org, Happy Reading!