01_Docker基础知识

基础知识

有六种名称空间

image-20210528104622395

一个隔离的用户空间应该隔离什么?

​ 1.隔离PID:隔离环境的进程树和宿主机的进程树是隔离的

​ 2.隔离挂载树( Mount)

​ 3.隔离UTS:主机名、域名

​ 4.隔离user、 group:

​ 5.隔离 network

​ 6.隔离IPC(进程间通信)

CGroups(Control Groups),隔离方式

​ 可以实现各种系统资源的动态、静态的分配 。

​ 可以创建一个隔离环境,共享底层的内核空间。

LXC: linux Container(现在已经从新变为RunC)

​ 基于模版快速创建容器,容器中有完整的文件系统,但是和底层系统共用内核.

​ 底层的文件系统和容器中的文件系统是隔离的.

Docker:LXC二次封装

lxc-create docker仓库模版文件

镜像:用来创建容器的模版,放在镜像仓库中

优点:降低开发周期、成本

虚拟化和容器的区别

KVM虚拟化 虚拟机:虚拟机需要首先模拟硬件,然后在硬件的基础上安装系统 .

​ 基于硬件虚拟化技术,是需要CPU支持的,是虚拟出来一个虚拟机.

​ 虚拟机管理器是需要占用额外的系统资源的,占用6%左右的系统资源.

​ 启动过程相对慢(分钟) 模版文件较大,和物理机完全隔离.

Docker 容器:直接在现有的系统中模拟一个环境.

​ 基于内核虚拟化技术,没有虚拟任何东西是通过隔离技术实现的,不会对系统带来额外的开销。

​ 直接虚拟出来一个用户空间使用简单.

​ 启动非常块(秒级) 模版文件很小,在一定程度上和物理机隔离.

image-20210601110624947

Docker的镜像

说明:分层构建的各层都是共享的,分层构建的各层都是只读的.

分层构建:首先构建基础系统,然后在基础系统上构建存在应用程序的系统.

image-20210602145524119

联合挂载:首先挂载基础层,然后挂载包含指定程序的层.

image-20210602150355175

写时复制:容器是基于写时复制实现写操作( copy on write),容器销毁时数据会被删除无法实现持久存储.

image-20210602150810914

Docker的好处

​ 实现服务的快速启动和隔离

​ 降低了开发难度

​ 降低了运维难度

Docker的编排工具

​ Machine Swarm Compose

​ Meos Marathon

​ Kubernetes

Docker架构(C/S)

image-20210603141446043

Client

docker run
docker pull
--------------

DockerHost
Docker Daemon(守护进程)

​ 默认仅仅监听在本地的 unix sock ,也可以监听在 socket(就可以远程管理).

​ image–>container(镜像变启动为容器)

Registry 存放镜像的仓库.

​ 用户认证

​ 版本仓库(repo)

​ 名称:应用名称

​ tag:版本库中具体镜像的标签

​ 标识方法:

​ 版本库名:tag

​ nginx: 1. 4

使用场景

快速部署服务

多租户

实现隔离

提高开发效率

简化配置过程

实现软件的跨平台

Work Blog » 01_Docker基础知识
分享到:
赞(0) 打赏

评论抢沙发

评论前必须登录!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏