Docker 的核心组件包括:

  • Docker 客户端 - Client
  • Docker 服务器 - Docker daemon
  • Docker 镜像 - Image
  • Registry
  • Docker 容器 - Container

Docker 架构如下图所示:

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

1、Docker 客户端 - Client

  最常用的 Docker 客户端是 docker 命令。通过 docker 我们可以方便地在 Host 上构建和运行容器。除了 docker 命令行工具,也可以通过 REST API 与服务器通信。

2、Docker 服务器 - Docker daemon

  Docker daemon 是服务器组件,以 Linux 后台服务的方式运行, 运行在 Docker host 上,负责创建、运行、监控容器,构建、存储镜像。
      默认配置下,Docker daemon 只能响应来自本地 Host 的客户端请求。如果要允许远程客户端请求,需要在配置文件中打开 TCP 监听,步骤如下:
      编辑配置文件 /etc/systemd/system/multi-user.target.wants/docker.service,在环境变量 ExecStart 后面添加 -H tcp://0.0.0.0,允许来自任意 IP 的客户端连接

       重启 Docker daemon。

 systemctl deamon-reload
systemctl restart docker.service

   服务器 IP 为 192.168.0.100,客户端在命令行里加上 -H 参数,即可与远程服务器通信。info 子命令用于查看 Docker 服务器的信息。

docker -H 192.168.0.100 info

3、Docker 镜像 - Image

  可将 Docker 镜像看着只读模板,通过它可以创建 Docker 容器。

   镜像有多种生成方法:

  •       可以从无到有开始创建镜像
  •       也可以下载并使用别人创建好的现成的镜像
  •       还可以在现有镜像上创建新的镜像

       像的内容和创建步骤描述在一个文本文件中,这个文件被称作 Dockerfile。通过执行下面的命令能创建镜像。

 docker build <docker-file>

4、Registry

  Registry 是存放 Docker 镜像的仓库,Registry 分私有和公有两种。Docker Hub(https://hub.docker.com/) 是默认的 Registry,由 Docker 公司维护。也可以自己创建Registry。

  •    docker pull 命令可以从 Registry 下载镜像。
  •    docker run 命令则是先下载镜像(如果本地没有),然后再启动容器。

-------------------------引用来自-----------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587573&idx=1&sn=9ed82f6e48df166f91b69fab46fc1e6a&chksm=8d30806cba47097a6a442eb52d3a4776c8bd067f4acbadd22d97a31549e7d5478ecf4abe69d8&scene=21#wechat_redirect

第 2 章 容器架构 - 007 - Docker 架构详解的更多相关文章

  1. Docker系列10—容器编排工具Docker Compose详解

    本文收录在容器技术学习系列文章总目录 1.Docker Compose 概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用Compose文件来配置 ...

  2. Docker万字详解!

    一.简介   1.了解Docker的前生LXC LXC为Linux Container的简写.可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性.相当于C+ ...

  3. docker入门详解

    这可能是最为详细的Docker总结 Docker是什么? 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的,甚至成为了一些企 ...

  4. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  5. 《Android群英传》读书笔记 (5) 第十一章 搭建云端服务器 + 第十二章 Android 5.X新特性详解 + 第十三章 Android实例提高

    第十一章 搭建云端服务器 该章主要介绍了移动后端服务的概念以及Bmob的使用,比较简单,所以略过不总结. 第十三章 Android实例提高 该章主要介绍了拼图游戏和2048的小项目实例,主要是代码,所 ...

  6. Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

    Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...

  7. “全栈2019”Java多线程第二十五章:生产者与消费者线程详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  8. “全栈2019”Java多线程第二十三章:活锁(Livelock)详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  9. “全栈2019”Java多线程第十二章:后台线程setDaemon()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

随机推荐

  1. easyui以及js前端开发常见问题、用法整理(最重要的样式和图标自定义)

    自定义图标 iconCls 所有属性值枚举: icon-add icon-print icon-mini-add icon-cvs icon-play icon-refresh icon-edit i ...

  2. 01:tcp/ip基本知识

    1.1 tcp常识 1.网络七层 2.TCP三层握手 ####1.第一次握手 # 建立连接时,客户端发送SYN包到服务器,其中包含客户端的初始序号seq=x,并进入SYN_SENT状态,等待服务器确认 ...

  3. mtr 命令

    mtr命令的使用: -r  --report  以报告的方式发布监测的结果 -s 30   指定发送包的大小  这个随意   按照自己的需求 -i 10  设置icmp协议返回包的时间 -n  no- ...

  4. eMMC分区详解【转】

    本文转载自:https://blog.csdn.net/wxh0000mm/article/details/77864002 转自:http://blog.csdn.net/junzhang1122/ ...

  5. cygwin如何下编译安装tmux?

    1. 准备工作 1.1 安装ncurses开发库 apt-cyg install libncurses-deve 1.2 安装libevent apt-cyg install libevent-dev ...

  6. POJ 2387 Til the Cows Come Home 【最短路SPFA】

    Til the Cows Come Home Description Bessie is out in the field and wants to get back to the barn to g ...

  7. Java8 函数式接口-Functional Interface

    目录 函数式接口: JDK 8之前已有的函数式接口: 新定义的函数式接口: 函数式接口中可以额外定义多个Object的public方法一样抽象方法: 声明异常: 静态方法: 默认方法 泛型及继承关系 ...

  8. CentOS7.2中systemctl的使用

    CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替. 1.原来的 service 命令与 s ...

  9. HDU 4638 Group(莫队)题解

    题意:n个数,每个数有一个值,每次询问一个区间,问你这个区间能分成连续的几段(比如7 1 2 8 就是两端 1 2 和 7 8) 思路:莫队.因为L.R移动顺序wa了20发...问了一下别人,都是先扩 ...

  10. 【做题】CF177G2. Fibonacci Strings——思维+数列

    题意:定义斐波那契字符串为: $f_1 = $ "a" \(f_2 =\) "b" \(f_n = f_{n-1} + f_{n-2}, \, n > 2 ...