I. Introduction to Docker

Docker has two main components:

Docker: Open source container virtualization platform

  • Docker Hub: A Docker SaaS platform for sharing and managing Docker containers

  • Docker uses the client-server (C/S) architecture pattern. Docker clients communicate with Docker daemons. Docker daemons handle complex and onerous tasks, such as creating, running, and publishing your Docker containers. Docker client and daemon can run on the same system, of course, you can also use Docker client to connect to a remote Docker daemon. Docker clients communicate with daemons through sockets or RESTful apis.

Docker daemon

As shown in the figure above, the Docker daemon runs on a host. The user does not interact with the daemon directly, but communicates with it indirectly through the Docker client.

The Docker client

Docker client, actually Docker’s binary program, is the main way for users to interact with Docker. It receives user instructions and communicates with the Docker daemon behind it, back and forth.

Inside the Docker

To understand Docker’s internals, you need to understand the following three components:

  • Docker images – Docker images

  • Docker Repository – Docker Registeries

  • Docker containers – Docker containers

Docker mirror

Docker image is the read-only template of Docker container. Each image is composed of a series of layers. Docker uses UnionFS to combine these layers into a single image. UnionFS allows files and folders (called branches) in a separate file system to be transparently overwritten to form a single coherent file system. Because of these layers, Docker is so lightweight. When you change a Docker image, such as upgrading to a new version of an application, a new layer is created. So instead of replacing the entire original image or recreating it (as you might do with virtual machines), a new layer is added or upgraded. Now that you don’t have to republish the entire image, just upgrade it, layer makes it easy and fast to distribute Docker images.

The Docker warehouse

Docker repository is used to store images, which can be understood as code repository in code control. Similarly, Docker repositories have public and private concepts. The public Docker repository name is Docker Hub. Docker Hub provides a huge collection of images to use. These images can be created by yourself or based on someone else’s image. Docker repository is the distribution part of Docker.

Docker container

A Docker container is similar to a folder. A Docker container contains all the environments that an application needs to run. Every Docker container is created from a Docker image. Docker containers can run, start, stop, move, and delete. Each Docker container is an independent and secure application platform, and Docker container is the running part of Docker.

Ii: Introduction to Docker usage scenarios

Docker, how much do you really know?

Three: Introduction to Docker ecology

Docker Ecology Overview

Four: Docker installation

Introduction to Docker Container Technology (1)

Five: Docker network and disk

Introduction to Docker Container Technology (II)

Docker command

Of these 20 Docker commands, how many do you know?

Docker container technology Docker file

Docker container technology Docker file

Docker container technology docker-machine

Container Technology | Docker Three Musketeers docker-Machine

Docker-compose for Docker container technology

Docker Three Swordsmen Compose container Technology

Docker-swarm docker-swarm

Docker-swarm container Technology | Docker-swarm

11: Docker-register build private image repository

Use Docker Registry to quickly build a private image repository (with dry goods)

Twelve: Build a high-force Docker container monitoring platform

To build a highly demanding and visual Docker container monitoring system platform

Jenkins: Automated CI/CD combat with Docker

Jenkins automated CI/CD combat with Docker