docker相关概念
1. docker是什么
docker是一个基于虚拟化服务的新型技术,是一个将运行时环境打包成容器进行传输的技术,实现 ”一次构建,处处运行的“理念 举个例子来说 docker的作用
-
举例
开发人员的工程在本地可以完美运行,但是交付给运维在生产上部署后,发现有问题,那么问题点在哪里呢?运维不会修改代码(jar包或war包),唯一的可能就是运行时环境以及配置信息等不同,导致如果双方环境有一点不同就可能导致上线发布失败。此时可以使用docker技术,让开发人员将本地的code以及运行时环境、配置信息等打包成容器,发布到仓库中心,然后运维人员去仓库获取,直接运行即可,保证环境以及配置一致,且节约了运维的配置成本。
2. 为什么要用docker
- docker技术实在基于虚拟化技术(例如虚拟机)之上的一次升级技术,拥有更小的大小,举例来说:在vareware上安装一个linux系统,需要大致4个g,但是安装一个docker,只需要170m左右,大大减少存储空间
- docker是一个构建,处处运行的,可以基于一个镜像,在任意数量的机器上实现快速安装运行时环境,比如有个小公司,项目上线时需要配置4台机器集群,每台机器上都需要安装jdk、redis、zookeeper、mysql等等基础软件,一年后,公司规模上升,需要将4台机器扩充到40台,那么原来运维需要一台机器一台机器的安装完等量的软件,很麻烦,但是 如果使用docker镜像,可以很快速的扩充到40台甚至400台
3. docker理念
一次构建,处处运行
4. docker三要素
-
容器
容器是镜像的一个实例,是一个小型的运行时环境,比如一般是小型的linux环境(基于linux内核的小型环境),用java代码比喻就是:容器是一个类的实例对象,比如 Person 小明 = new Person(); Person就是一个模板,也是要给镜像
-
镜像
镜像是保存在镜像仓库中的,pull镜像,相当于 将镜像实例化成容器后部署在自己的环境中,用java来说就是一个类对象
-
仓库
仓库是用来保存多个注册仓库的,每个注册仓库中保存了不同的镜像image文件