Docker Tutorial

Docker is a platform for managing container-based applications. Using the container-based approach we can separate our application from the actual physical machine, and run it in a self-contained environment.

NOTES

The word “docker” means-

A person who is responsible for loading and unloading items(metal containers) on a ship.

Docker software performs the same responsibility. It packages an application in containers, and then runs and manages a container. This enables us to run applications separately that use different versions of programming language or other software.

NOTES

Docker creates an isolated environment for the application running inside it.

So the application can use any specific version of packages/libraries, and/or use any specific binary, and/or run any process, without any conflict or issue.

Benefits of using Docker

Here are the benefits of using docker, and containers in general-

Run multiple applications to run in isolation.
Very lightweight, compared to other solutions(like virtual machines). Uses very low hardware resources.
Very quick to start.
Share the resources of the host operating system.

As we are learning about docker, so we should also be aware of the Moby project. Let’s see what the Moby project is-

Moby

Moby works as the core of Docker. It is an open-source project, for assembling containerized applications.

The Moby project was created by docker. It was created so that container systems can be created without reinventing the wheel.

It works as a framework, and helps to build components and tools for the container ecosystem. It contains some standard components and exposes a framework, which is used by Docker. We can also build our own customized container system on top of Moby.

System engineers, hackers, and infrastructure providers can use the Moby project to provide additional functions or patch the docker/container system.

Moby uses containerd as the default container runtime. Let’s see what containerd is-

containerd

containerd is a container runtime.

Read the following articles to understand docker.

  • Installation
  • Image
  • Container
  • Dockerfile
  • CMD vs Entrypoint
  • Multistage
  • Compose
  • Volume
  • File System
  • Architecture
  • Context
  • Deployment
  • Manifest
  • Network
  • Plugin
  • Registry
  • Scan
  • Secret
  • Security
  • Service
  • Stack
  • Swarm

Application setup

  • Golang Application Setup
  • NodeJS Application Setup
  • PHP Application Setup
  • Python Application Setup

Docker Commands:

  • run
  • exec
  • ps
  • build
  • pull
  • push
  • images
  • login
  • logout
  • search
  • version
  • info

Docker Management commands:

  • builder
  • buildx*
  • compose*
  • container
  • context
  • debug*
  • dev*
  • extension*
  • feedback*
  • image
  • init*
  • manifest
  • network
  • plugin
  • sbom*
  • scout*
  • system
  • trust
  • volume
Docker Architecture

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.