docker基础

Posted ycg-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker基础相关的知识,希望对你有一定的参考价值。

1、docker结构:

Docker客户端(Docker Client)
Docker客户端(Docker Client)是用户与Docker进行交互的最主要方式。当在终端输入docker命令时,对应的就会在服务端产生对应的作用,并把结果返回给客户端。Docker Client除了连接本地服务端,通过更改或指定DOCKER_HOST连接远程服务端。

Docker服务端(Docker Server)
Docker Daemon其实就是Docker 的服务端。它负责监听Docker API请求(如Docker Client)并管理Docker对象(Docker Objects),如镜像、容器、网络、数据卷等

Docker Registries
俗称Docker仓库,专门用于存储镜像的云服务环境.
Docker Hub就是一个公有的存放镜像的地方,类似Github存储代码文件。同样的也可以类似Github那样搭建私有的仓库。

Docker 对象(Docker Objects)
镜像:一个Docker的可执行文件,其中包括运行应用程序所需的所有代码内容、依赖库、环境变量和配置文件等。
容器:镜像被运行起来后的实例。
网络:外部或者容器间如何互相访问的网络方式,如host模式、bridge模式。
数据卷:容器与宿主机之间、容器与容器之间共享存储方式,类似虚拟机与主机之间的共享文件目录。

2、docker底层实现简介:

Namespaces(命名空间):为Docker容器提供操作系统层面的隔离
  进程号隔离:每一个容器内运行的第一个进程,进程号总是从1开始起算
  网络隔离:容器的网络与宿主机或其他容器的网络是隔离的、分开的,也就是相当于两个网络
  进程间通隔离:容器中的进程与宿主机或其他容器中的进程是互相不可见的,通信需要借助网络
  文件系统挂载隔离: 容器拥有自己单独的工作目录
  内核以及系统版本号隔离:容器查看内核版本号或者系统版本号时,查看的是容器的,而非宿主机的


Control Groups(控制组-cgroups):为Docker容器提供硬件层面的隔离
  控制组能控制应用程序所使用的硬件资源。
  基于该性质,控制组帮助docker引擎将硬件资源共享给容器使用,并且加以约束和限制。如控制容器所使用的内存大小。


Union File Systems(联合文件系统--UnionFS):利用分层(layer)思想管理镜像和容器

3、

以上是关于docker基础的主要内容,如果未能解决你的问题,请参考以下文章

Docker基础

Docker 镜像:基于 Ubuntu 的基础镜像中文问题解决

Docker 基础镜像

Docker——Docker基础+Docker安装

docker入门基础

Docker基础