目录
基础知识
简单介绍
Docker是一个基于Go语言,遵守Apache2.0协议开源的轻量级容器引擎,让开发者可以打包 应用以及依赖包 到一个可移植的容器里,然后发布出去。
Docker可用于创建、编排、管理容器。容器是完全使用沙箱机制,彼此之间没有任何接口。
Docker使用容器承载应用程序,而不使用操作系统,所以相比较虚拟机,它的开销少,性能高。但是Docker对应用程序的隔离不如虚拟机彻底,因此要重视保障安全性。
Docker使用客户端-服务器(C/S)架构模式,使用远程API来创建和管理Docker容器。
基本概念
镜像(Image)
Docker镜像是一个特殊的文件系统,提供容器运行时所需要的程序、库、资源、配置等文件,另外还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等)。
镜像是一个静态的概念,不包含任何动态数据,其内容在构建之后不应该被改变。
容器(Container)
Docker容器是用Docker镜像生成的,就像是对象是通过类的实例化来创建的一样。
仓库(Repository)
Docker仓库是集中存放镜像的地方。
Docker官方维护了一个公共仓库Docker Hub(核心)。很多需求都可以通过在Docker Hub中直接下载镜像来实现。
应用场景
- Web应用的自动化打包和发布,自动化测试和持续集成、发布。
- 在服务器环境中部署和调整 数据库或其它的后台应用。
- 从头编译或者拓展现有的OpenShift或Cloud Foundry(这两个都是开源PaaS云平台)来搭建自己的PaaS(Platform as a Service,平台即服务)环境。