关于Docker
2021-11-30 本文已影响0人
小李飞刀_lql
使用容器的原因
001 上线流程繁琐
开发->测试->申请资源->审批->部署->测试等环节
002 资源利用率低
普遍服务器利用率低,造成过多浪费
003 扩容/缩容不及时
业务高峰期扩容流程繁琐,上线不及时
004 服务器环境臃肿
服务器越来越臃肿,对维护、迁移带来困难
005 环境不一致性
关于Docker
001 使用最广泛的开源容器引擎
002 一种操作系统级的虚拟化技术
003 依赖于Linux内核特性:Namespace(资源隔离)和Cgroups(资源限制)
004 一个简单的应用程序打包工具
Docker设计目标
001 提供简单的应用程序打包工具
002 开发人员和运维人员职责逻辑分离
003 多环境保持一致性
1638254919302.png
Docker基本组成
1638255012065.png容器 VS 虚拟机
1638255043917.pngHypenrvisor:比如vmware
GuestOS:虚拟出不同的宿主机
Container | VM | |
---|---|---|
启动速度 | 秒级 | 分钟级 |
运行性能 | 接近原生 | 5%左右损失 |
磁盘占用 | MB | GB |
数量 | 成百上千 | 一般几十台 |
隔离性 | 进程级 | |
操作系统 | 主要支持Linux | 几乎所有 |
封装程度 | 只打包项目代码和依赖关系,共享宿主机内核 | 完整的操作系统 |
Docker应用场景
001 应用程序打包和发布
002 应用程序隔离
003 持续集成
004 部署微服务
005 快速搭建测试环境
006 提供PaaS产品(平台即服务)
安装Docker
# 安装依赖包
yum install -y yum-utils
# 添加Docker软件包源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker CE
yum install -y docker-ce
# 启动Docker服务并设置开机启动
systemctl start docker
systemctl enable docker
https://docs.docker.com/engine/install/centos/
官方文档:https://docs.docker.com
阿里云源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo