Docker简介

2020-08-15  本文已影响0人  jan29

以下内容转载于Breeze
原博客地址:https://www.cnblogs.com/breezey/

一、Docker简介

1、什么是Docker

Docker - Build,Ship,and Run Any App, Anywhere

Docker的英文翻译是“码头工人”,即搬运工,它搬运的东西就是我们常说的集装箱Container,Container里面装的是任意类型的App。我们的开发人员可以通过Docker将App变成一种标准的、可移植的、自管理的组件,我们可以在任何主流的操作系统中开发、调试和运行。

从概念上来看,Docker和传统的虚拟机比较类似,只是更轻量级,更方便使用。Docker和虚拟机最主要的区别有以下几点:

下面是docker与虚拟机的简单对比图:


docker_vs_VM docker_vs_VM_2

Docker运行在物理机上与运行在虚拟机上的对比:


docker_vs_VM_2

2、为啥要用容器

一个做好的应用容器长的就像一个装好了一组特定应用的虚拟机一样,比如我们现在想用redis,那我就找个装好了redis的容器就可以了,然后运行起来,我就能直接使用了。

那为什么不直接安装一个redis呢?肯定是可行的,但是有的时候根据每个人电脑的不同,操作系统的不同,redis的安装方法也各不相同。而且万一机器故障,应用迁移,所有当前机器上安装的应用还需要在新的机器上再全部重新安装一次。但是如果使用容器就要简单多了,你就相当于有了一个快速运行起来的虚拟机,而且方便快速移植。只要你能运行容器,redis的配置就省了。

Docker的特性:

3、Docker Engine

Docker Engine是一个C/S架构的应用程序,主要包含以下几个组件:

docker_engine

4、Docker架构说明

Docker使用C/S体系的架构,Docker客户端与Docker守护进程通信,Docker守护进程负责构建,运行和分发Docker容器。Docker客户端和守护进程可以在同一个系统上运行,也可以将Docker客户端连接到远程Docker守护进程。Docker客户端和守护进程使用REST API通过unix套接字或网络接口进行通信。

下面是Docker核心组件及元素说明:

docker_arch.png

另外,关于Docker的底层技术支持:Namespaces(实现隔离)、CGROUPS(资源限制)、UnionFS(镜像和容器分层),可以参考:《docker核心技术与实现原理》,以及《docker官方文档》

上一篇 下一篇

猜你喜欢

热点阅读