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