docker学习(1)

基础介绍视频链接:https://edu.aliyun.com/lesson_1651_13082?spm=5176.12586973.0.0.77b722325EeZGU#_13082

一、容器与镜像

1、定义

       容器,是一个视图隔离、资源可限制,独立文件系统的进程集合。其中,视图隔离:如能看见部分进程;独立主机名等。

由于使用共用资源,则容器不需要内核文件,只需要内核等文件。我们定义:运行容器所需要的所有文件集合为容器镜像。一般使用Dockerfile来构建容器镜像。

 

上图是golang的镜像构建,它是基于alpine构建的,说明这些镜像是可以互相复用的,同时结构是分层的。镜像数据是共享的

以下面图为例展示如何构建镜像:

 

 

top:指构建的容器对应的进程为top。

可以这么理解:一个镜像看成一个模板,一个容器看成一个运行实例,所以镜像就具有了一次构建到处运行的特点

二、容器生命周期

这个init进程即上面提到的top进程,但在后面容器可以产生其他的子进程。数据卷是为了容器的数据实现持久化,与容器的声生命周期独立开来。

 三、容器项目的架构

四、容器vs VM

(1)每一个Guest OS都有一个独立的内核;

(2),每一个Guest OS都需要硬件资源和磁盘资源;

原文地址:https://www.cnblogs.com/zf-blog/p/12431459.html