Docker 架构详解

Docker核心组件包括:

  1、Docker客户端 - client

  2、Docker服务器 - Docker daemon

  3、Docker镜像 - Image

  4、Docker 仓库 - Registry

  5、Docker 容器 - Container

Docker采用的是C/S架构。客户端想服务端发送请求,服务器负责构建、运行和分发容器。客户端和服务端可以在同一个Host上,客户端也可以通过socket或REST API 与远程的服务器通信。

Docker客户端:一般使用的docker命令就是Docker客户端,通过docker命令,我们可以在host上构建和运行容器。

Docker 服务器:Docker daemon 是服务器组件,以Linnux 后台服务的方式运行。Docker daemon 运行在Docker Host 上,负责创建、运行、监控容器,构建、存储镜像。默认情况下,Docker daemon只能响应来自本地Host的客户端的请求,如果需要允许远程客户端请求,需要在配置文件中打开TCP监听,步骤如下:

  1、编辑配置文件 /etc/systemd/system/multi-user.target.wants/docker.service ,在环境变量 ExecStart 后面添加 -H tcp://0.0.0.0, 允许来自任意IP的客户端连接。

  2、重启Docker daemon : systemctl daemon-reload -->service docker restart

    3、服务器IP为10.0.2.15 (也可以是docker0 的地址),客户端在命令行上加上 -H 参数,即可与远程服务器通信。如查看服务器端docker信息:

      docker  -H 10.0.2.15(docker0地址) info

Docker 镜像:docker镜像是一个只读的文件系统,docker需要在该文件系统上创建一个可写层,才能对镜像进行容器构建。

  docker镜像有多种生成方法:

      1、可以从无到有开始创建镜像

      2、可以下载使用别人创建好的现成镜像(Docker Hub)

      3、也可以在现有镜像上创建新的镜像。

Docker容器:docker容器就是docker镜像的运行实例。用户可以通过CLI(docker)或API启动,停止,移动或删除容器

Registry:Registry是存放Docker镜像的仓库,分为私有和公有两种。Docker Hub是默认的Registry,是由Docker公司维护,存放了大多数常用的镜像,用户可以自由下载和使用。docker pull 命令可以从Registry下载镜像;docker run 则是运行一个容器,如果该容器依赖的镜像在本地不存在,则会去Registry下载镜像,然后运行容器。

 

posted on 2017-08-26 17:42  冥石  阅读(195)  评论(0编辑  收藏  举报