可以将应用打包成docker镜像,实现运行环境的隔离。目前最流行的容器管理平台是k8s,可以解决裸容器的不足。
一、产生背景
解决环境差异导致的问题。解决了实现运行环境的隔离(测试环境没有问题,一到生产环境出现问题)
docker解决应用环境不同的问题(操作系统、软件环境、配置、版本)
解决部署繁琐的问题(若是物理机,要去部署应用,需要安装操作系统、安装相关依赖环境jdk,部署应用程序,若并发量较大,需要加物理机,又需要将以上的操作一次,每台服务器安装相同环境,繁琐,资源大小不灵活)
解决资源占用的问题。将物理机虚拟成多个机器,充分利用物理机资源,而每一个虚拟机是一个独立系统,可以把依赖环境打成系统的模板。还需要虚拟机,就根据模板直接启动虚拟机即可,省去安装依赖的步骤。不足:系统模板占用资源多,启动慢,即出现了容器化技术。
容器化技术不是模拟一个完整的操作系统,没有进行硬件虚拟,而是对进程进行了隔离,封装在容器里的应用程序,直接使用宿主机的内核,容器之间互相隔离互不影响。容器化技术优点:节约资源。
创建程序镜像(是基于基础镜像的放自己的包应用程序的包生成新镜像,而镜像是按照层进行存储,基础镜像层相同,底层是同一个层存储,这样节约资源,轻便、效率高、启动快.
二、简介
1、官网
https://www.docker.com
是一个go语言实现的开源应用容器引擎
可以打包应用程序以及依赖包到容器,启动docker服务机,就可以进行运行。
2、Docker作用
简化环境部署、配置,实现了一次构建,处处运行,这样就避免了运行环境不一致导致的异常。
3、Docker优点
快、方便、轻量、低成本