分享

Docker-软件工程的集装箱技术

## Docker是软件工程中的集装箱技术

* Docker是一个虚拟化的容器技术,它轻巧,且易移植,“build once, configure once and run anywhere”。

1.png

## 集装箱

|传统行业集装箱|软件行业Docker|

|装载实体货物|装载系统层,服务层,应用层软件|
|具有统一的规格,便于搬运|运行环境的统一性,重复部署!=重复安装。系统部署=搬运+启动|
|与外界环境隔离|CPU,内存采用cgroup,LXC技术隔离。容器之间互不影响|
|物流仓储系统|官方DockerHub,私有仓库,可以导出导入,上传下载|



## Docker简介



### 传统软件行业中存在的问题

* 软件更新发布低效
* 业务无法敏捷
* 环境一致性,难于保证
* 不同环境之间迁移成本太高
* 软件开发商,交付实施周期长---成本高

2.png



## docker核心概念一:镜像与容器

3.png

#### docker镜像来源

* Docker Hub官方镜像,国内阿里云等都有对外开放的docker镜像仓库
* 使用Dockerfile自己构建镜像。Dockerfile是代码文件,环境变量,系统依赖软件等的构建描述,将镜像的构建过程固化下来,保证了不重复做环境安装工作。概念上类似于maven的pom.xml。
* 企业私有镜像+私有镜像仓库Docker registry



## Docker是不是虚拟机?

4.png

答:docker不是虚拟机,docker是一种虚拟化容器技术,他和虚拟机最根本的区别是:**docker容器和宿主机共用linux操作系统内核,不会在宿主机上再次建立OS**。

基于上面的原因,docker相对于虚拟机有如下几方面的提升

5.png



### Docker组件工作原理图

* Docker Containers负责应用程序的运行,包括操作系统、用户添加的文件以及元数据。
* Docker 镜像是一个只读模板,用来运行Docker容器。
* DockerFile是文件指令集,用来说明如何自动创建Docker镜像。
* Docker Registry是私有的镜像仓库

有了以上的组件,应用的重复部署工作不存在,变成镜像搬运与容器启动工作。

6.png


转载请注明:字母哥博客 » 1-Docker-软件工程集装箱技术
http://www.zimug.com/2016/04/01/ ... %E6%8A%80%E6%9C%AF/

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条