Help us understand the problem. What is going on with this article?

Docker(一)

More than 3 years have passed since last update.

提到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 的运行组件

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away