Stackademic

Stackademic is a learning hub for programmers, devs, coders, and engineers. Our goal is to democratize free coding education for the world.

Follow publication

What is Docker?

✨ Upeksha Herath
Stackademic
Published in
4 min readAug 8, 2023

--

Image taken from Google

Docker is a platform, which is so useful to use for any kind of developer regardless of what he or she uses as the technologies or frameworks for software development. Ok Upeksha, we do not need this kind of explanation, just say What is docker? 😅😂.

According to Docker documentation

Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly.

😅Ok I know it is not beginner-friendly. Let me give you a chance to tell you a story.

Problem

Once upon a time when people developing software, they installed all the required languages and frameworks on their local machine’s OS and developed software. They happily developed their software 😇😃. No problem at all😃. But when they deployed this system they had to move their whole software project to servers with a different OS, for deployment. [ Server is also just a computer that runs 24 hours consistently. ] Then the pain started🥲, and they had to install one by one software again to that server and things started to mess up. Sometimes the servers do not have the same operating system which developers used in their local machines. It is not an easy task to do so when it comes to a large project. Then developers started to cry😂😂.

This is the story. Then, where’s Docker dude😠? Are you just kidding😡?

No, wait;

Solution

As a solution to this problem, virtual machines came into the picture in the 1960s. The virtual machine is an isolated environment. If you need you can run any operating system on your operating system by using a virtual machine. We can install a different set of software in that virtual machine and develop our software. On the same computer, we can use different Operating Systems and software separately. The problem has been solved now. Then what is the use of the containers ??

Both these virtual machines and containers are virtualization techniques. First came these virtual machines and then in the early 2000s the containers concept came into the picture. These two concepts have their own set of specialities. However, containers have become more prevalent in recent years due to their efficiency and portability(docker is a container).

Ok well, Upeksha you are saying about the virtual machines and containers. Can’t you clarify the differences between these two?🧐🧐

Virtual Manes vs. Containers

How docker and VMs differ in architecture
  • Isolation
    - Virtual machines are completely isolated from each other. Containers are not completely isolated from each other. But they are more isolated than processed.
  • Portability
    - Virtual machines can be run on any hardware that supports the hypervisor. Containers can be run on any hardware that has Docker installed.
  • Efficiency
    - Virtual machines are less efficient than containers because they each run their own operating system. Containers are more efficient than virtual machines because they share the host operating system’s kernel.

Ok, now I think you have a good understanding of what is the difference between these containers like Docker and virtual machines🤩.

Ok, Upeksha you told me that the docker is a container and various things about containers. What is the practical use of docker? 🤨🤨🤨

Real-world use of docker

Docker allows you to create a lightweight, standalone, executable package of software that can be run on any machine that has Docker installed. This makes it easy to deploy and manage applications and share applications with others.

  • Deploying applications: Docker can be used to deploy applications to production quickly and easily.
  • Testing applications: Docker can be used to create isolated environments for testing applications.
  • Managing infrastructure: Docker can be used to manage infrastructure by creating and running containers on demand.
  • Sharing applications: Docker images can be shared with others, making it easy to distribute applications.

I think you got a basic understanding of how docker works with my funny explanation😂😂. But I know still you do not have any idea how to use docker from a practical perspective.

Hope to join you again with another Docker blog that gives you a practical view of the Docker. 😇😇

If you are interested in learning React or coding-related stuff just consider following me. You can refresh your knowledge and learn about new programming-related stuff. 🤩🤩🤩😃

Stackademic

Thank you for reading until the end. Before you go:

  • Please consider clapping and following the writer! 👏
  • Follow us on Twitter(X), LinkedIn, and YouTube.
  • Visit Stackademic.com to find out more about how we are democratizing free programming education around the world.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Published in Stackademic

Stackademic is a learning hub for programmers, devs, coders, and engineers. Our goal is to democratize free coding education for the world.

Written by ✨ Upeksha Herath

Software Engineer | Technical Writer | Exploring tech frontiers, simplifying complexities. Join me for coding tips, techniques for all things tech.

Responses (5)