作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:
Docker基本情况(本小节属于)
Docker基本命令
Dockerfile
Docker镜像
Docker仓库
Docker原理
Docker网络&存储&日志
Docker-Compose
Docker番外篇
在讲Dcoker之前,我们想象一下,如果我们要发布一个应用,首先要做的就是打包自己的程序,其次在线上业务服务器准备系统环境,再次把自己的程序上传到服务器里面,最后再启动应用。这其中最大的变数就是系统环境的改变,就可能导致我们的业务无法启动。而Docker就是把这些操作封装在一起,避免出现环境差异导致业务无法启动。
Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 Linux 虚拟机),几乎没有任何性能开销,可以很容易地在机器和数据中心中运行。

一句话总结:虚拟机是面向资源的,容器是面向应用的。

借用docker官方的原话 :“Build, Ship, and Run”(构建、交付、运行)
Docker 也和其他应用软件一样,也是需要先安装以后才能使用,下一小节将介绍Docker的安装。