提到Docker
它是干什么的呢?
通过使用内核的容器技术来帮助你管理部署 app. 一个开源的平台, 开发, 交付还有运行 app. 能够让你的交付程序更方便快捷.
Docker 平台又是什么? 提供了一种完全隔离应用的容器, 这种隔离和安全性能够让你在一个宿主上很流畅得执行多个容器.
- 让应用包装到 docker 容器里.
- 部署交付这些容器让小组人员一起测试
- 部署 app 到生产环境,不管是本地数据中心还是云.
docker engine 是什么
Docker Engine
是一个客服端-服务器端架构的程序.包含:
- 一个服务器端, 作为一个常驻进程一直运行.
- 一个 REST API, 能够让应用通过接口和这个常驻进程进行通信
- 一个命令行交互客户端.
同样 CLi 也是通过 REST API 和常驻进程通信, 其他的 app 都是通过底层的 API 或者 CLI 来完成通信控制. 而常驻进程就创建和管理 Docke 的对象, 这个Docker 对象
就包括了镜像,容器, 网络, 数据存储等.
用 Docker 能干什么呢?
- 快速交付
- 部署,扩展
- 它轻量级快速,能够有效的完成任务,高强度工作,有效利用资源等
Docker 的架构
Docker 是一个 CS 架构的设计, 客户端通过 socket 或者 RESTFul 的 API 和常驻进程通信, 实现构建,运行部署dcoker 容器. 客户端和服务端可以跑在同一个宿主上或者通过网络来实现异地的通信.
Docker 常驻进程
从上面的图看出它运行与宿主之上. 用户不会和他直接交互,而是通过Docker client
docker client
docker client
也就是一个打包为docker
的二进制包,是 docker 的最主要的用户界面.它接受来自用户的请求然后再和 daemon 交互.
docker内部
- Docker images
- Dokcer registries
- Docker containers
docker 镜像
docker 的镜像是一个只读的模板,例如一个镜像包含了一个 ubuntu 的系统还有 apache 以及你的 web 应用. 镜像是用来创建docker 容器
的. docker 提供了一个简单的方式;唉创建新的镜像或者更新已经有的镜像, 或者你可以下载已经有的别人创建号的的镜像, docker 镜像可以视作docker 的构建
组件
docker 注册
docker 注册拥有很多镜像,这些共有和私有的都是你用来上传或者下载镜像使用的. 注册可以视作 docker 的发布
组件.
docker 容器
docker 容器可以简单的立即为一个目录, 一个 docker 的容器包含了所有的东西用来支持一个 app 的运行.每一个容器创建自某个 docker 镜像. docker 的容器可以被执行,开启,停止,移动或者删除. 每一个容器都可以视作完全隔离安全的应用平台, docker 容器是一个docker 的运行
组件