Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到主流的Linux、macOS、Windows机器上,实现虚拟化。
Docker用Go语言写成,是一个重新定义了程序开发测试、交付和部署过程的开放平台。
虚拟机和Docker最明显的差别是虚拟机需要安装操作系统(安装Guest OS)才能执行应用程序,而Docker内不需要安装操作系统。Docker技术不是在OS外来建立虚拟环境,而是在OS内的核心系统层来打造虚拟执行环境,通过共享宿主机OS的做法,取代一个一个Guest OS的功用,Docker也因此被称为操作系统虚拟化技术。
因为Docker技术采取共享宿主机OS的做法,而不需要在每一个Docker容器内执行Guest OS,因此建立Docker容器不需要等待操作系统开机时间,也不需要加载操作系统的额外进程。
Docker是一个构建、发布、运行分布式应用的平台,Docker平台由Docker Engine(运行环境+打包工具)、Docker Hub(API+生态系统)两部分组成。
1.Docker Client介绍
Docker引擎可以直观理解为就是某一台机器上运行的Docker程序,实际上它就是一个C/S结构的软件,有一个后台守护进程在运行,每次运行docker命令的时候实际上都是通过RESTful Remote API来和守护进程进行交互的,即时在同一台机器上也是如此。
在使用docker version查看版本时,会看到两大部分:Client和Server,其实就是docker CLI(Client)和docker daemon(Server)
2.Docker daemon介绍
daemon就是一个守护进程,它实际上就是驱动整个Docker的核心引擎。
3.Docker镜像
Docker镜像是Docker系统中的构建模块(Build Component),是启动一个Docker容器的基础。
Docker镜像采用分层的结构构建,最底层是bootfs,这是一个引导文件系统,在容器启动之后会自动卸载bootfs,bootfs之上是rootfs,rootfs是Docker容器在启动时内部可见的文件系统,就是日常所见的“/”目录。
4.Docker仓库
Docker官方的Registry地址是 https://hub.docker.com/
原文地址:http://blog.51cto.com/12943999/2072592