docker学习笔记

什么是Docker

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

Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

  • Go语言
  • cgroup
  • namespace
  • AUFS
  • Union FS

    为什么要使用Docker

    特点

  • 更高效的利用系统资源
  • 更快速的启动时间
  • 一致的运行环境
  • 持续交付和部署
  • 更轻松的迁移
  • 更轻松的维护和扩展

    对比传统虚拟机技术

特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

传统虚拟机
image
docker
image

docker基本概念

  • 镜像
  • 容器
  • 仓库

参考

Docker — 从入门到实践