1. docker为什么出现?
一个产品从开发到上线需要两套环境,应用环境和部署,经常会出现开发人员抱怨明明自己电脑可以运行,上线就出问题,又或者遇到什么版本更新,服务就会不能用。环境配置费时费力,以前是靠运维,现在我们有了docker,就可以从开发打包部署上线,一套完成。
比如,一个java项目,打包为jar,以前是交给运维去配置环境,然后部署上线,现在docker使得我们在打包的时候就带上环境,下载发布的镜像即可运行。
docker的思想来自于集装箱,核心就是隔离,每个箱子在打包装箱时都是隔离的,通过这种隔离机制,可以将服务器性能利用到极致。
2. docker可以做什么?
虚拟化技术:虚拟出一套硬件模拟了一个完整的系统,占用资源较多,冗余步骤多,启动较慢
docker容器技术:
- 不是模拟 一个完整系统,而是直接运行在宿主机,没有自己的内核,也没有虚拟的硬件,所以非常轻便,并且每个容器互不影响,互相隔离。
- 可以更快速地交付和部署,一件运行打包镜像发布测试
- 更便捷的升级和扩容
- 更简单的系统运维:开发和测试高度一致
- 更高效的计算资源利用:内核级别的虚拟化,可以运行许多容器实例
3. docker基本组成
镜像(image) : docker镜像犹如一个模板,可以通过这个镜像来创建容器服务,如tomcat镜像运行就会成为tomcat01容器来提供服务器,通过这个镜像可以创建多个容器。
容器(container): 独立运行一个或一个组应用,通过镜像来创建,可理解为一个简易的Linux系统
仓库(repository): 存放镜像的地方,分私有和公有仓库,常使用阿里云仓库配置镜像加速