一、Docker
1、虚拟化的发展
1)单主机时代
服务器高性能硬件
CPU、内存、硬盘
2)虚拟化时代
依赖服务器硬件
服务器硬件上安装虚拟化程序
虚拟化程序将计算机硬件进行共享
在虚拟机中安装特定的服务给客户端提供服务
提高服务器硬件的利用率
3)云计算时代
通过虚拟化构建群集处理能力
云计算平台的高性能计算、数据存储、安全保护
云计算平台统一管理服务
4)Docker
Docker属于轻量级虚拟化,通过系统直接实现
配置简单,Docker下一代虚拟化产品
Docker容器基于LXC内核虚拟化技术,方便容器之间进行资源隔离
2、Docker优势和Docker和其他虚拟化区别
1)Docker的优势
更快速的交付和部署:开发人员使用镜像来快速构建一套开发标准,开发后运维人员直接通过镜像运行容器快速部署项目
高效的资源利用:运行容器不需要虚拟化管理程序,docker通过内核你虚拟化实现占用硬件资源小
更轻松的迁移扩展:发现容器资源占满,运维人员通过镜像继续运行容器提供服务,将容器封装成镜像到其他平台运行
更简单的更新管理:使用Docker File修改配置文件代理大量的更新工作,Docker File实现高效容器自动化管理
2)Docker和虚拟化的区别
特性 容器 虚拟化
启动速度 秒起 分钟
性能 接近原生 较弱
内存占用 占用内存小 占用内存大
硬盘使用 M为单位 GB为单位
运行速度 单机支持千个容器 一般十几台虚拟机
隔离性 安全隔离 完全隔离
迁移 简单高效 迁移复杂故障多
3、Docker和虚拟化架构
1)虚拟化架构
硬件
宿主系统
虚拟化管理程序
虚拟化管理程序安装不同系统的虚拟机
配置程序虚拟机程序运行环境
安装程序或者服务
2)Docker架构
硬件
宿主机操作系统
Docker容器支持
程序运行环境
安装程序或者服务
4、Docker支持的系统和安装Docker注意事项
1)Docker支持的系统
RHEL和Centos6.5
Ubuntu
Mac OS
Windows
2)安装注意事项
Linux内核3.0版本以上
Ubuntu 12版本以上

5、安装Docker程序服务控制

1)清空yum缓存
[root@centos01 ~]# yum clean all
2)安装docker
cd /etc/yum.repos.d/
wget http://mirrors.aliyun.com/repo/Centos-7.repo
[root@centos01 ~]# yum -y install docker
3)启动docker服务
[root@centos01 ~]# systemctl start docker
4)设置docker服务开机自动启动
[root@centos01 ~]# systemctl enable docker
5)查看运行版本
[root@centos01 ~]# docker version

二、Docker镜像的管理
1、Docker镜像运行的步骤和镜像的作用
1)Docker镜像运行的步骤
下载镜像dockerhub提供或者云平台下载阿里云、网易云
镜像运行容器
用户访问容器提供特定的服务
2)Docker镜像的作用
Docker镜像是一个只读文件
镜像中包含程序或者服务运行的环境
用户使用容器必须从镜像生成
可以根据用户需要自定义镜像
2、Docker镜像的查找下载
1)查找镜像

[root@centos01 ~]# docker search nginx
2)下载镜像
[root@centos01 ~]# docker pull docker.io/centos
3)第三方docker云平台下载
[root@centos01 ~]# docker pull hub.c.163.com/public/centos:6.7-tools
4)查看镜像
[root@centos01 ~]# docker images
5)另存镜像到Linux本地
[root@centos01 ~]# docker save -o centos6.7.tar hub.c.163.com/public/centos:6.7-tools
6)修改镜像名字centos6.7
[root@centos01 ~]# docker tag hub.c.163.com/public/centos:6.7-tools centos:6.7
7)删除镜像
[root@centos01 ~]# docker rmi hub.c.163.com/public/centos:6.7-tools
[root@centos01 ~]# docker rmi 470671670cac
8)导入镜像
[root@centos01 ~]# docker load < centos6.7.tar
[root@centos01 ~]# docker load --input ./centos6.7.tar
9)上传镜像
[root@centos01 ~]# docker push hub.c.163.com/public/centos:6.7-tools