【Docker】基本概念

xixuefeng Other 2017-11-14 11:25:15 919 次浏览 【Docker】基本概念已关闭评论

Docker火了好几年,一直也没碰过,最近受到公司硬件环境限制,计划通过Docker来缓解硬件资源带来的压力。

Docker是PasS提供商DoctCloud开源的一个基于LXC的高级容器引擎,源代码托管在Github上,基于go语言并遵从Apache2.0协议开源。

简单的说一下Docker和虚拟机的区别

首先明确,Docker的容器之间也是完全隔离的,这点跟虚拟机是一样的,不过,虚拟机是资源完全隔离,而容器是基于进程隔离,更轻量。

虚拟机使用独立的内核等资源,而容器则共享宿主机的操作系统内核及资源

当然,虚拟机启动关闭会比较慢,而容器基于以上原因,启动关闭会非常快。

 

提到Docker的基本概念,包括如下几个:

客户端(Client)、守护进程(Docker daemon)、镜像(Image)、容器(Container)、仓库(Repository)

1)客户端(Client)

Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。

2)守护进程(Docker daemon)
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互

3)镜像(Image)

docker英文的意思是“搬运工”“码头搬运工”,一想到码头的搬运工,就会想到集装箱,

从静态的角度来讲,这个集装箱就是一个镜像;

从动态的角度来讲(也就是启动起来),这个集装箱就是容器。

可以获取官方镜像,也可以自制镜像

4)容器(Container)

容器就是运行的镜像,可以启动、关闭、删除、重启,容器间是完全隔离的

5)仓库(Repository)

镜像文件的存放地。仓库可分为共有仓库(Public)和私有仓库(Private),比如从公共仓库可以pull下来现成的镜像文件,当然用户可以创建自己镜像文件,pash到共有仓库或私有仓库,这样在其他环境中就可以方便的pull下来了。

 

刚刚接触Docker,目前了解的就这么多。

 

回顶部