为什么要用docker
Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。
环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装﹖也就是说,安装的时候,把原始环境一模一样地复制过来。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。
之前开发给运维的是代码---》转变成整体打包,包括环境配置;
好比 之前搬家,现在是搬楼;
docker理念
Docker是基于Go语言实现的云开源项目。
Docker的主要目标是“Build,Ship and Run Any App.Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。Linux容器技术的出现就解决了这样一个问题,而Docker就是在它的基础上发展过来的。将应用运行在Docker容器上面,而Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作
docker 组成:仓库 容器 镜像;
仓库:类似maven或git仓库,集中存放镜像的地方,可以在仓库中进行提交或拉取;
容器:类似于linux 浓缩版的虚拟机,里面可以有多个镜像; 也可以看作java的类,里面有多个对象,类似鲸鱼上面的集装箱;
镜像:可以理解为java的对象(即实例);
仓库---》镜像----》容器(集装箱)---》执行;