背景
伴随着计算机技术的发展,虚拟机和虚拟化也在计算机领域被快速的普及。传统虚拟化的实现既可以基于硬件模拟,也可以通过操作系统软件得以实现。而当下更受欢迎的容器技术则是更加轻量级的虚拟化应用,其中Docker则是容器技术的代表之一。
什么是Doker
Docker是由Go语言开发的一款高性能轻量级的容器项目,Docker开源全部代码,遵循Apache2.0,自诞生起即受到业界广泛关注。
源码地址
Docker的优势
- 更快速更简便的交付与部署
开发、测试、运维人员可以按照同一标准通过容器的创建、删除来快速的无缝对接从开发阶段到测试阶段再到上线运行阶段各个流程的系统部署。 - 更高效的资源利用
相比传统虚拟机,不要额外安装PD或者VMW等工具,而且docker实现内核级的虚拟化,对资源的消耗更低,但性能却又比传统虚拟机高出很多。 - 更便捷的迁移与扩展
docker构建的容器可以在几乎所有平台上运行,包括物理机、虚拟机、云端、个人电脑等。同时兼容主流操作系统,这种兼容容让用户可以在不同平台之间轻松的迁移应用。 - 更简单的更新管理
通过修改Dockerfile文件可以轻松替换以往大量的更新工作,所有修改都会以增量的方式被分发和更新,从而实现容器的高效自动化管理。
核心概念
- 镜像
Docker中的镜像类似虚拟机的镜像,是一种系统或者应用模板。 - 容器
Docker中的容器类似一个独立的沙盒,运行容器时“沙盒”间相互隔离。 - 仓库
Docker中的仓库是存放镜像文件的地方。每个仓库管理着一类镜像的文件,同一个仓库内通过不同标签划分着多个不同镜像文件。