跳转至

Docker 容器技术


2016-03-01 by dongnan

开始之前

2015 年 Docker 火爆的一年,docker容器技术的锋芒已经胜过 IaaS ,PaaS 等云计算技术, docker 正在逐步进入企业,也逐渐的从测试环境走向生产环境,当然这过程中会有许多坑等待着这我们。

学习 Docker 目标如下:

  • docker 是什么?能做什么?
  • docker 优势是什么?
  • docker 单机环境尝试?
  • docker 主流的集群管理方式?
  • docker web场景可以借鉴的方案有哪些?

什么是 Docker?

Docker 使用 Go 语言进开发实现,基于 Linux 内核的 cgroupnamespace,以及 AUFS 类的 Union FS 等技术, 对进程进行封装隔离,属于操作系统层面的虚拟化技术由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器

虚拟机与容器区别?

虚拟机技术是虚拟出一整套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程。

容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。

为什么要使用 Docker?

更高效的利用系统资源

由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。相同配置的主机对比虚拟机技术,Docker可以运行更多数量的应用。

更快速的启动时间

由于 Docker 容器应用直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大节约了应用部署的时间。

一致的运行环境

Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会出现项目开发过程中 开发环境、测试环境、生产环境不一致的问题。

持续交付和部署

使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过 Dockerfile 来进行镜像构建, 并结合持续集成系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像。

更轻松的迁移

由于 Docker 确保了执行环境的一致性,所以在多种平台上其运行结果是一致的。因此可以将在一个平台上的应用迁移到另一个平台上, 而不用担心运行环境的变化导致应用无法正常运行的情况。

更轻松的维护和扩展

Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。

参考

内容参考自 Docker — 从入门到实践

欢迎关注微信公众号: 运维录

Back to top