docker在it人尤其是运维的工作中,占有很大的版块,不仅是必备技能之一,更是求职的加分项。今天用10分钟讲清docker基础到实战,全程干货,后附pdf资料,强烈建议收藏学习!

什么是docker?

docker自开源后受到了广泛的关注和讨论,但什么是docker,相信还有一部分朋友不太了解,至于docker和虚拟化方式又有什么不同之处呢?

docker概念:docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 linux或windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

图源网络,侵删

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

下面用两张图直观比较docker和传统虚拟化:

传统虚拟机(左),docker(右)

从上图不难看出,传统虚拟机是虚拟出一套硬件后,在其上运行一个完整操作系统;而容器内的应用进程直接运行于宿主的内核,没有进行硬件虚拟,因此容器比传统虚拟机更为轻便。

为什么要使用docker?

作为一种新兴的虚拟化方式,docker跟传统的虚拟化方式相比具有众多的优势:

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

docker的三个基本概念

docker包括三个基本概念:镜像、容器和仓库。理解这三个概念,就理解了docker的整个生命周期。

下面分别对这三个概念,进行简述。

图源网络,侵删

镜像

docker镜像相当于是一个root文件系统。它是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源和配置等文件外,还包含了一些为运行时准备的一些配置参数。

容器

容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。

镜像和容器的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止和删除等。

仓库

仓库是集中存放镜像的地方,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。

docker项目实战

docker三剑客之compose项目

kubernetes项目

实战案例-操作系统

docker从基础到实战共有345页,图文并茂,全面详实,实用性和可操作性极强,很适合运维人员等it人士学习参考。

文档目录

  • 基本概念
  • 安装docker
  • 使用镜像
  • 访问仓库
  • 数据管理
  • 使用网络
  • 高级网络配置
  • 安全
  • 底层实现