使用 Docker 的目的
交付和部署更快速,一次创建,随处运行,创建容器的全过程可见,对所有人都是透明的;
虚拟化更高效,少了一层虚拟化当然更高效,接近于物理机的性能;我的理解是 Docker 对物理资源做了隔离,所以更轻量。
迁移和扩展更轻松,可以从私有仓库,共有仓库拉取image, 用过 maven 的同学应该会有类似的体验;
常用概念
image,镜像,用户可以通过相关命令轻松创建一个image,也可以通过命令轻松仓库里下载一个 image。image 是只读的、静止的。我们通过命令可以启动一个image,从而创建一个 Docker 容器。
container,容器,容器是从镜像创建的运行实例,一台物理机可以运行 成百上千个容器,容器之间是相互隔离的。容器可以通过相关命令启动,开始,停止,删除。
repository,仓库,分为公共和私有两种。默认是从公共仓库获取 image.
下面有一个表格对比了传统虚拟机和docker的区别:
容器 | 虚拟机 | |
---|---|---|
启动 | 秒级 | 分钟级 |
硬盘使用 | 通常为MB | 通常为GB |
性能 | 接近原生 | 弱于原生 |
系统支持量 | 单机支持上千容器 | 一般几十个虚拟机 |