Introduction to Docker containers

Introduction to Docker containers

Docker Overview

Docker is an open source software deployment solution;
Docker is also a lightweight application container framework;
Docker can package, publish, and run any application. This is also the product concept of Docker: Docker - Build, Ship, and Run Any App, Anywhere
Docker uses LXC (Namespace+CGroups), which implements lightweight design through image management mechanism based on the Namespace [resource isolation] and CGroups [resource control] technologies of the Linux kernel.

Docker composition

Docker consists of Docker server and Docker client. Docker includes the following components: container, image and repository, as shown in the following figure:

Docker vs VM

As a type of container, Docker is very different from traditional VMs. First, let's compare the two in terms of architecture:

By comparison, we can see that VM is actually an operating system virtualized (hypervisor) based on hardware, and multiple VMs share the underlying hardware resources. Docker uses Namespace and CGroups technology for isolation based on Linux, which allows Docker to run on both hardware operating systems and VMs. The difference between the two also determines the difference between the two. Here we summarize the differences between the two, as follows:

Since Docker has such a feature, what can Docker do? The figure below shows 8 scenarios of docker. Based on actual work, the author mainly uses docker to simplify the release process of existing products, reducing a lot of environment configuration work. Due to the isolation of docker, the application can be packaged into a docker image, and different versions of the same product can be packaged into different images, which also facilitates testing.

Therefore, looking at Docker from different positions, the changes brought by Docker are all-round.


You may also be interested in:
  • Docker installation and simple usage tutorial
  • Docker simple installation and application introductory tutorial
  • What is Docker? Docker Getting Started Tutorial Part 1
  • Docker Learning Notes: Getting Started with Docker
  • Docker Getting Started Quick Start Guide
  • Docker Getting Started Installation Tutorial (Beginner Edition)
  • Two-hour introductory Docker tutorial
  • Docker container from entry to obsession (recommended)

<<:  Execution context and execution stack example explanation in JavaScript

>>:  MySQL 5.7.17 latest installation tutorial with pictures and text

Recommend

JavaScript to achieve JD.com flash sale effect

This article shares the specific code of JavaScri...

Introduction to HTML DOM_PowerNode Java Academy

What is DOM? With JavaScript, you can reconstruct...

The implementation principle of Mysql master-slave synchronization

1. What is MySQL master-slave synchronization? Wh...

Mysql sql slow query monitoring script code example

1. Modify my.cnf #The overall effect is that both...

MySQL data compression performance comparison details

Table of contents 1. Test environment 1.1 Hardwar...

The latest Linux installation process of tomcat8

Download https://tomcat.apache.org/download-80.cg...

How to clean up the disk space occupied by Docker

Docker takes up a lot of space. Whenever we run c...

Optimize the storage efficiency of BLOB and TEXT columns in InnoDB tables

First, let's introduce a few key points about...

What is JavaScript anti-shake and throttling

Table of contents 1. Function debounce 1. What is...

How to create a Pod in Kubernetes

Table of contents How to create a Pod? kubectl to...

How to use mysql to complete the data generation in excel

Excel is the most commonly used tool for data ana...

CSS syntax for table borders

<br /> CSS syntax for table borders The spec...

Perfect solution to the problem of webpack packaging css background image path

Inside the style tag of the vue component, there ...