博主自主知识产权《springboot深入浅出系列课程》(16章97节文档免费) 已经上线,请关注

Docker-软件工程集装箱技术

docker 字母哥 6918℃ 0评论

向您推荐

Dcoker入门与实践系列文章

欢迎加入QQ技术交流群:300139299

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

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

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

集装箱

传统行业集装箱 软件行业Docker
装载实体货物 装载系统层,服务层,应用层软件
具有统一的规格,便于搬运 运行环境的统一性,重复部署!=重复安装。系统部署=搬运+启动
与外界环境隔离 在linux中采用namespace技术进行资源隔离,cgroups技术进行资源限制。容器之间互不影响
物流仓储系统 官方DockerHub,私有仓库,可以导出导入,上传下载

Docker简介

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

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

docker-软件工程的集装箱技术-1

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

docker-软件工程的集装箱技术-镜像与容器

docker镜像来源

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

Docker是不是虚拟机?

docker-软件工程的集装箱技术-虚拟机对比1

答:docker不是虚拟机,docker是一种虚拟化容器技术,他和虚拟机最根本的区别是:docker容器和宿主机共用linux操作系统内核,不会在宿主机上再次建立OSdocker容器的本质是宿主机上的进程,通过namespace资源隔离,cgroups资源限制,使它看上去像是一个独立的虚拟机.

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

docker-软件工程的集装箱技术-虚拟机对比2

好处说了这么多,难道就没有什么缺点么?

如果非要说docker的缺点,那就是他的隔离性.虚拟机的隔离性是久经考验的,docker容器目前的隔离级别还达不到虚拟机的程度.所以你会经常看到一种混合的系统,将docker跑在虚拟机里面.但是docker技术在飞速的发展中,社区非常的活跃,笔者认为隔离的安全性问题终将被解决!

Docker组件工作原理图

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

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

docker组件

向您推荐

Dcoker入门与实践系列文章

欢迎加入QQ技术交流群:300139299

转载请注明:字母哥博客 » Docker-软件工程集装箱技术

喜欢 (13)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 棒!棒!棒!
    匿名2016-05-18 11:23 回复