什么是镜像(image)
个人理解,镜像是独立可执行的包,并且包含了软件运行需要的所有东西,包括并且不仅限于代码,运行环境,各种库,环境变量,配置文件等等。
什么是容器(container)
我把容器理解成隔离了操作系统的一种运行环境。容器隔离了应用程序和真实的操作系统。开发者将自己的开发应用程序放入Docker中进行管理运行,就好像单独运行了这个应用程序在一个独立的操作系统中。
容器会把应用直接运行在宿主机的内核中,这样会比虚拟机有更好的性能,因为虚拟机只能通过hypervisor(超级监督者)来间接的使用宿主机资源的虚拟权限。容器可以获得原生的资源使用权限,每个都运行在独立的进程中,不需要额外的内存。
Docker 官网:http://www.docker.com
Github Docker 源码:https://github.com/docker/docker