首先看docker容器Container(与tomcat对比)
- docker是一款软件,就跟浏览器,编辑器或者虚拟机一样,首先是一款软件。
- docker还可以创建容器,运行镜像。我觉得可以拿web容器进行对比。比如tomcat,我们可以在tomcat里运行我们写好的项目代码(一个项目代码可以比作是一个docker的一个容器)。不同点是tomcat运行之后就不能在添加新的项目代码(对程序的管理也就阻塞了)除非停止tomcat容器,如果一个tomcat只想运行一个项目代码,我们又想运行多个项目时就非常麻烦;docker运行之后可以添加新的容器,也可以删除新的容器(对容器的管理是非阻塞的),而且docker可以运行多个容器,容器之间相互隔离。
其次再看镜像Image(与虚拟机进行对比)
- 虚拟机也可以成为容器,因为虚拟机可以虚拟出来一套硬件,来运行多个操作系统(类比“镜像”),但是操作系统一般包含的东西比较多,体型比较庞大,安装到启动可能需要30分钟左右,有很多是我们不需要的东西。
- docker镜像则可以比作是简化的操作系统(暂时不考虑底层原理),只包含我们需要的东西,比如java的运行环境,tomcat等相关依赖。
最后看仓库Repository(与手机的应用商店对比)
安卓与ios都有应用商店,我们在应用商店里下载我们需要的软件,仓库就可以比作应用商店,我们在应用商店里下载我们需要用的软件。