The Docker Handbook - 2021 Edition

The Docker Handbook - 2021 Edition

The Docker Handbook - 2021 Edition: Introduction to Containerization and Docker; How to Install Docker; How to Install Docker on macOS; How to Install Docker on Windows; How to Install Docker on Linux; Hello World in Docker - Intro to Docker Basics; What is a Container? What is a Docker Image? What is a Docker Registry? Docker Architecture Overview; The Full Picture; Docker Container Manipulation Basics; How to Run a Container? How to Publish a Port? How to Use Detached Mode? How to List Containers? How to Name or Rename a Container? How to Stop or Kill a Running Container? How to Restart a Container? How to Create a Container Without Running? How to Remove Dangling Containers? How to Run a Container in Interactive Mode? How to Execute Commands Inside a Container? How to Work With Executable Images? Docker Image Manipulation Basics? How to Create a Docker Image? How to Tag Docker Images? How to List and Remove Docker Images? How to Understand the Many Layers of a Docker Image? How to Build NGINX from Source? How to Optimize Docker Images? Embracing Alpine Linux; How to Create Executable Docker Images? How to Share Your Docker Images Online? How to Containerize a JavaScript Application? How to Write the Development Dockerfile? How to Work With Bind Mounts in Docker? How to Work With Anonymous Volumes in Docker? How to Perform Multi-Staged Builds in Docker? How to Ignore Unnecessary Files? Network Manipulation Basics in Docker; Docker Network Basics; How to Create a User-Defined Bridge in Docker? How to Attach a Container to a Network in Docker? How to Detach Containers from a Network in Docker? How to Get Rid of Networks in Docker? How to Containerize a Multi-Container JavaScript Application? How to Run the Database Server? How to Work with Named Volumes in Docker? How to Access Logs from a Container in Docker? How to Create a Network and Attaching the Database Server in Docker? How to Write the Dockerfile? How to Execute Commands in a Running Container? How to Write Management Scripts in Docker? How to Compose Projects Using Docker-Compose? Docker Compose Basics; How to Start Services in Docker Compose? How to List Services in Docker Compose? How to Execute Commands Inside a Running Service in Docker Compose? How to Access Logs from a Running Service in Docker Compose? How to Stop Services in Docker Compose? How to Compose a Full-stack Application in Docker Compose

The concept of containerization itself is pretty old. But the emergence of the Docker Engine in 2013 has made it much easier to containerize your applications.

According to the Stack Overflow Developer Survey - 2020, Docker is the #1 most wanted platform, #2 most loved platform, and also the #3 most popular platform.

As in-demand as it may be, getting started can seem a bit intimidating at first. So in this article, we'll be learning everything from the basics to a more intermediate level of containerization. After going through the entire article, you should be able to:

  • Containerize (almost) any application
  • Upload custom Docker Images to online registries
  • Work with multiple containers using Docker Compose

Prerequisites

  • Familiarity with the Linux Terminal
  • Familiarity with JavaScript (some later projects use JavaScript)

Table of Contents

  • Introduction to Containerization and Docker
  • How to Install Docker
    • How to Install Docker on macOS
    • How to Install Docker on Windows
    • How to Install Docker on Linux
  • Hello World in Docker - Intro to Docker Basics
    • What is a Container?
    • What is a Docker Image?
    • What is a Docker Registry?
    • Docker Architecture Overview
    • The Full Picture
  • Docker Container Manipulation Basics
    • How to Run a Container
    • How to Publish a Port
    • How to Use Detached Mode
    • How to List Containers
    • How to Name or Rename a Container
    • How to Stop or Kill a Running Container
    • How to Restart a Container
    • How to Create a Container Without Running
    • How to Remove Dangling Containers
    • How to Run a Container in Interactive Mode
    • How to Execute Commands Inside a Container
    • How to Work With Executable Images
  • Docker Image Manipulation Basics
    • How to Create a Docker Image
    • How to Tag Docker Images
    • How to List and Remove Docker Images
    • How to Understand the Many Layers of a Docker Image
    • How to Build NGINX from Source
    • How to Optimize Docker Images
    • Embracing Alpine Linux
    • How to Create Executable Docker Images
    • How to Share Your Docker Images Online
  • How to Containerize a JavaScript Application
    • How to Write the Development Dockerfile
    • How to Work With Bind Mounts in Docker
    • How to Work With Anonymous Volumes in Docker
    • How to Perform Multi-Staged Builds in Docker
    • How to Ignore Unnecessary Files
  • Network Manipulation Basics in Docker
    • Docker Network Basics
    • How to Create a User-Defined Bridge in Docker
    • How to Attach a Container to a Network in Docker
    • How to Detach Containers from a Network in Docker
    • How to Get Rid of Networks in Docker
  • How to Containerize a Multi-Container JavaScript Application
    • How to Run the Database Server
    • How to Work with Named Volumes in Docker
    • How to Access Logs from a Container in Docker
    • How to Create a Network and Attaching the Database Server in Docker
    • How to Write the Dockerfile
    • How to Execute Commands in a Running Container
    • How to Write Management Scripts in Docker
  • How to Compose Projects Using Docker-Compose
    • Docker Compose Basics
    • How to Start Services in Docker Compose
    • How to List Services in Docker Compose
    • How to Execute Commands Inside a Running Service in Docker Compose
    • How to Access Logs from a Running Service in Docker Compose
    • How to Stop Services in Docker Compose
    • How to Compose a Full-stack Application in Docker Compose
  • Conclusion

docker devops

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Ever Wondered Why We Use Containers In DevOps?

At some point we've all said the words, "But it works on my machine." It usually happens during testing or when you're trying to get a new project set up. Sometimes it happens when you pull down changes from an updated branch.

Docker manifest - A peek into image's manifest.json files

The docker manifest command does not work independently to perform any action. In order to work with the docker manifest or manifest list, we use sub-commands along with it. This manifest sub-command can enable us to interact with the image manifests. Furthermore, it also gives information about the OS and the architecture, that a particular image was built for. The image manifest provides a configuration and a set of layers for a container image. This is an experimenta

Docker Explained: Docker Architecture | Docker Registries

Following the second video about Docker basics, in this video, I explain Docker architecture and explain the different building blocks of the docker engine; docker client, API, Docker Daemon. I also explain what a docker registry is and I finish the video with a demo explaining and illustrating how to use Docker hub.

Docker And JFrog Partnership: Path To Limitless DevOps in the Cloud

This article talks about the recent partnership between Docker and JFrog and how this partnership impacts developers and enterprises positively? The whole DevOps world works involving containers in building, packaging, running and shipping their software applications.

How to Extend your DevOps Strategy For Success in the Cloud?

DevOps and Cloud computing are joined at the hip, now that fact is well appreciated by the organizations that engaged in SaaS cloud and developed applications in the Cloud. During the COVID crisis period, most of the organizations have started using cloud computing services and implementing a cloud-first strategy to establish their remote operations. Similarly, the extended DevOps strategy will make the development process more agile with automated test cases.