前言
Docker是基于Linux内核实现的, Docker最早采用了LXC技术, LXC是Linux原生支持的容器技术, 可以提供轻量级的虚拟化. Docker基于LXC发展, 提供了LXC的高级封装, 标准的配置方法, 在LXC的基础上, Docker提供了一系列更强大的功能. 而虚拟化技术, 比如KVM, 是基于模块实现, 后来Docker改为自己研发并开源的runc技术运行容器。
Docker 相比虚拟机,其交付速度更快, 资源消耗更低, Docker采用客户端/服务器端架构, 使用远程API来管理和创建容器, 其可以轻松的创建一个轻量级的, 可移植的, 自给自足的容器. Docker的三大理念就是build, ship, run。
Docker通过namespace和cgroup来提供容器的资源隔离与安全保障等, 所以Docker容器在运行时, 不需要类似虚拟机的额外资源开销, 因此可以大幅度提供资源利用率
优点:
资源利用率更高: 开销更小, 不需要启动单独的虚拟机OS内核占用硬件资源, 可 以将服务器性能压榨至极致. 虚拟机一般会有5-20%的损耗, 容器运行基本无损耗, 所以生产中一台物理机只能运行数十个虚拟机, 但是一般可以运行数百个容器
启动速度更快: 可以在数秒内完成启动
占用空间更小: 容器一般占用的磁盘空间以MB为单位, 而虚拟机即使是最小化安装也要占1个G多的空间
集成性更好: 和CI/CD相关技术结合性更好, 实现打包镜像发布测试可以一键运行, 做到自动化并快速的部署管理, 实现高效的开发生命周期
缺点:
隔离性: 多个容器共用宿主机的内核, 各应用之间的隔离不如虚拟机彻底
一. linux docker安装
1. 准备工作
# 查看服务器系统版本或者内核版本
cat /etc/redhat-release
# 查看服务器内核版本
uname -r
2. 安装依赖环境
yum install -y yum-utils device-mapper-persistent-data lvm2
3. 添加docker-ce镜像源
# 镜像源是阿里镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4. 安装docker
Docker从17.03版本之后分为两个版本:社区版(Community Edition,缩写为 CE)和企业版(Enterprise Edition,缩写为 EE)。
企业版包含了一些收费服务,个人开发者一般用不到,所以我们只需要安装社区版docker-ce版本即可。
yum install -y docker-ce
5. 启动docker,并查看docker的版本信息
#启动docker命令
systemctl start docker
#查看docker版本命令
docker version
6. 配置docker daemon.json文件
# 配置文件的默认路径:/etc/docker/daemon.json
vi /etc/docker/daemon.json
{
# 镜像源管理,我增加了阿里镜像源,可以提速
"registry-mirrors": [
"https://jkfdsf2u.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http//hub-mirror.c.163.com"
],
#docker私服配置,因为不是https