Introduction to Docker

Introduction to Docker

·

2 min read

What is docker?

Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers that have everything the software needs to run including libraries, system tools, code, and runtime.

Example

Let me give you a scenario

You are given a Windows machine to test a particular piece of code in various Python versions.

Here are the possibilities:

🫵You can install one version, test the code, and uninstall that version to install another version ... The process goes on (But !!, It is very time-consuming)

🫵You can install Virtual machines and deploy new VM instances to test the code (But !!, It uses more memory)

✅Here's the solution --> DOCKER 🐋

You can use 'N' number of Docker images with various specifications inside a docker.

If you are still confused about WHAT docker is, for this instance keep in mind that "Docker is an advanced form of Virtualization"(Let's explore the true potential in upcoming blogs)

Now that you have a basic understanding of WHAT docker is, let's get going with the advantages and disadvantages of using docker

Advantages:

  • Flexible resource sharing

  • Scalability - many containers can be placed in a single host

  • Running your service on hardware that is much cheaper than standard servers

  • Fast deployment, ease of creating new instances, and faster migrations.

  • Ease of moving and maintaining your applications

  • Better security, less access needed to work with the code running inside containers, and fewer software dependencies

Disadvantages:

  • Docker is not good for an application that requires a rich GUI

  • It is difficult to manage large amounts of containers

  • Docker does not provide cross-platform compatibility means if an application is designed to run in a Docker container on Windows, then it cannot run on a Linux Docker container

  • Docker is suitable when the development OS and testing OS are the same.

  • It does not provide any solution for data backup and recovery.

Happy Learning. Cheers🙌❤️