内核级虚拟化技术 同一份Redis镜像可以生成几个不同的容器
Doker学习 基于go语言 一次配置好镜像文件 换到别的机器上就能正常运行
Doker是什么? 解决了运行环境配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术
Doker没有出现之前存在的问题:
:开发人员与运维人员的环境不同 导致开发那里能跑 但是运维那里跑不了
开发只是提交src源代码 运维,部署时环境不一致 可能mysql版本redis补丁 java 版本不一致
多台集群就更容易出问题了
Doker出现之后:
只需要将100%能跑通过的 源码+配置+环境+版本。。 打包为一个镜像文件 让它跑在doker中
Doker包括两方面的技术
1镜像
就相当于搬家 一开始一大堆东西 可能会出现遗漏的情况
但是现在呢 直接把整栋楼搬过去!
跟虚拟机是有些类似的 一个doker跑一个镜像 可以有很多歌doker在跑
虚拟机缺点:步骤多,资源占用多,启动慢
而容器:不需要捆绑一整套操作系统 只需要软件工作所需的库资源和设置,因此轻量高效
举例 Book b1 = new Book() 左边是镜像即模板 右边是容器
Doker镜像就是一个只读的模板 镜像可以用来创建很多个Doker容器
从面向对象角度
容器是用镜像创建的运行实例 就跟用类创建对象一样
从镜像容器角度
可以把容器看作是一个简易版的Linux环境
仓库Repository是集中存放镜像文件的场所
docker镜像仓库跟git仓库有些相似 也有Pull命令
Docker是一种Client-Server结构的系统 Docker守护进程运行在主机上,然后通过Socket连接从客户端访问,守护进程从客户端接收命令并管理运行在主机上的容器。就相当于跑了一个mysql服务,我们可以通过可视化工具客户端来对后台程序进行编辑增删改查等操作
过程 先看本地有没有该镜像 没有就去dockerHub上面找 找到就下载*(pull)镜像到本地