一、什么是Docker
Docker是基于GO语言实现的开源容器项目,诞生于2013年年初,最初发起者是dotCloud公司,Docker项目已经加入了Linux基金会,并遵循apache2.0协议,全部代码开源在github上,docker的构想是要实现"Build ship and run any,anywhere",即通过对应用的封装、分发、部署、运行 生命周期进行管理,达到应用组件"一次封装,到处运行"的目的。
Docker是一种容器虚拟化,Docker容器可以理解为一种轻量级的沙盒,每个容器内运行着一个应用,不同的容器相互隔离,容器之间也可以通过网络互相通信,也可以说docker就是轻量级及互相隔离应用的虚拟化技术
二、Docker的优势
更快的交付和部署
更高效的资源利用
更轻松的迁移和扩展
更简单的更新管理
docker容器很快,启动和停止可以在秒级实现
docker容器对系统资源需求很少,一台主机上可以同时运行数千个容器
docker通过类型git设计理念的操作来方便用户获取、分发、更新应用镜像,存储复用,增量更新
docker利用Linux系统上的多种防护技术实现了严格的隔离可靠性,并且可以整合众多的安全工具
三、Docker容器技术和传统虚拟机技术的区别
传统的方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应该和虚拟机操作系统层
docker容器是在操作系统层面上实现的虚拟化,直接复用本地主机的操作系统,因此更加的轻量级
四、Docker核心三大概念
docker的大部分操作都是围绕着它的三大核心概念--镜像、容器、仓库来展开的 这个就相当于docker的基础很重要
4.1. docker镜像
docker镜像类似于虚拟机的镜像文件,可以将它理解为一个只读的模板,例如一个镜像可以包含一个基本的操作系统,里面安装这个应用程序镜像是创建docker容器的基础
详细信息请点击----->镜像详情
4.2. docker容器
docker容器就像一个轻量级的沙盒,docker利用容器来运行和隔离应用,容器是从镜像创建的应用运行实例,可以启动、停止、删除,而这些容器都是互相隔离,互不可见的
详细信息请点击----->容器详情
4.3. docker仓库
docker仓库类型于代码仓库,它是集中存放镜像文件的地方
详细信息请点击----->仓库详情
PS:镜像自身是只读的,容器从镜像启动的时候,会在镜像的最上层创建一个可写层
五、安装Docker
yum -y install docker-io 或者 curl -fsSL https://get.docker.com/ | sh 安装指定版本的docker 在使用centos7,并使用yum安装docker的时候,往往不希望安装最新版本的docker,而是希望安装与自己熟悉或者当前业务环境需要的版本 # 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 libsemanage-python libselinux-utils # 添加Docker软件包源 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 关闭测试版本list(只显示稳定版) yum-config-manager --enable docker-ce-edge yum-config-manager --enable docker-ce-test # 更新yum包索引 yum makecache fast # 找到需要安装的 yum list docker-ce --showduplicates|sort -r # 指定版本安装 yum install docker-ce-17.09.0.ce -y # 启动docker systemctl start docker && systemctl enable docker 查看docker版本 docker version
六、Docker服务配置项
配置文件:/etc/default/docker 进程ID:/var/run/docker.pid 日志文件:/var/log/upstart/docker.log