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都需要硬件资源和磁盘资源;