Docker简介

Docker是什么?

Docker是一个2013年开源的应用程序,并且是一个基于go语言编写的PAAS服务。
Docker最早采用LXC(Linux 容器)技术,之后改为自己研发并开源的runc技术运行容器
Docker相比虚拟机的交付速度更快,资源消耗更低,Docker采用客户端、服务端架构,采用远程api来管理和创建Docker容器。
Docker的三大理念是bulid(构建),ship(运输),run(运行)。
Docker遵从apache2.0协议,并通过namespace、cgroup等技术来提供容器的资源隔离与安全保障。

Docker与虚拟机之间的对比

![image.png](https://img-blog.csdnimg.cn/img_convert/bc1583b44dba3c4c4c0d9c969658357e.png#clientId=u7be9e34b-4467-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=317&id=u094e9cf2&margin=[object Object]&name=image.png&originHeight=475&originWidth=927&originalType=binary&ratio=1&rotation=0&showTitle=false&size=99967&status=done&style=none&taskId=ud53d54b2-2481-4ae5-882b-1875ce6273a&title=&width=618)

虚拟化 容器
隔离性强,有独立的GUEST OS 共享内核和OS,隔离性弱
虚拟化性能差(>15%) 计算/存储无损耗,无Guset OS内存开销(~200M)
虚拟机镜像庞大(十几G~几十G),且实例化时不能共享 Docker容器镜像200~300M 且公共基础镜像实例化时可以共享
虚拟机镜像缺乏统一标准 Docker提供了容器应用镜像实施标准,OCI推动进一步标准化
虚拟机创建慢(>2分钟) 秒级创建(<10s)相当于建立索引
虚拟机启动慢(>30秒)读文件逐个加载 秒级(<1s,不含应用本身启动)
资源虚拟化粒度低,单机10-100虚拟机 单机支持1000+容器密度很高,适合大规模的部署
  • 资源利用率高:一台物理机可以运行几百个容器,但一般只能运行数十个虚拟机
  • 开销更小:不需要启动单独的虚拟机占用硬件资源
  • 启动速度更快:可以在数秒内完成启动

Docker组成

官网:https://docs.docker.com/get-started/overview/
Docker主机host:一个物理机或者虚拟机,用于运行docker服务进程和容器
Docker服务端Server:Docker守护进程,用于运行docker服务进程和容器
Docker客户端Client:客户端使用Docker命令或其他工具调用docker api
Dcoker仓库registry:保存镜像的仓库,类似于git或svn这样的版本控制器
Docker镜像images:镜像可以理解为创建实例使用的模板
Docker容器container:容器是从镜像生成对外提供服务的一个或一组服务
![image.png](https://img-blog.csdnimg.cn/img_convert/f4f52c39aa3c7cb4502729194ef49082.png#clientId=u7be9e34b-4467-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=474&id=uebc8bab9&margin=[object Object]&name=image.png&originHeight=711&originWidth=696&originalType=binary&ratio=1&rotation=0&showTitle=false&size=130033&status=done&style=none&taskId=u13e5ed34-50dc-48af-99bf-26646a0d0de&title=&width=464)

Docker安装及基础命令

安装docker-ce以及客户端

 host:server
 
 rm -rf /etc/yum.repos.d/*
 wget -O /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
 wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 yum install -y docker-ce

启动docker

[root@server ~]# systemctl enable --now docker.service
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

快速开始

[root@server ~]# docker pull nginx
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值