第一章 Docker架构和简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
Docker的应用场景Web 应用的自动化打包和发布。自动化测试和持续集成、发布。在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
Docker 包括三个基本概念:
镜像(Image):相当于你一套安装包 把安装包集成一套镜像开源
容器(Container):镜像(Image)和容器(Container)的关系,容器运行镜像 可以运行多个镜像. 比如有一个mysql的镜像,容器中可以运行多个mysql的镜像
仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。