docker介绍与安装

、docker是什么

Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程,这种运行时封装的状态称为容器。
Docker早起版本实现是基于LXC,并进一步对其封装,包括文件系统、网络互联、镜像管理等方面,极大简化了容器管理。从0.7版本以后开始去除LXC,转为自行研发的libcontainer,从1.11版本开始,进一步演进为使用runC和containerd。
Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意Linux发行版Docker引擎上。使用沙箱机制运行程序,程序之间相互隔离

2、docker体系结构

Containerd:是一个简单的守护进程,使用runC管理容器。向Docker Engine提供接口。
Shim:只负责管理一个容器。
runC:是一个轻量级的工具,只用来运行容器。

3、docker内部组件

Namespaces
命名空间,Linux内核提供的一种限制单进程或者多进程资源隔离的机制,例如进程、网络、挂载点等资源。
CGroups
控制组,Linux内核提供的一种限制单进程或者多进程资源的机制;例如CPU、内存等资源。
UnionFS
联合文件系统,支持将不同位置的目录挂载到同一虚拟文件系统,形成一种分层的模型。

4、docker应用场景

场景一:节省项目环境部署时间
1. 单项目打包
2. 整套项目打包
3. 新开源技术试用
场景二:环境一致性
场景三:持续集成
场景四:微服务
场景五:弹性伸缩

5、docker安装

# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker软件包源
yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker CE
yum install docker-ce
# 启动
systemctl start docker
# 卸载
yum remove docker-ce
rm -rf /var/lib/docker

原文地址:https://www.cnblogs.com/hellojackyleon/p/8286921.html