docker是一个典型的c/s架构产品。

dockerd :为客户端提供  RESTFUL API,响应来自客户端的请求, 采用模块化的架构, 通过专门的 Engine 模块来分发管理各 个来自客户端的任务。 可以单独升级;

docker-proxy :是 dockerd 的子进程, 当需要进行容器端口映射时, docker-proxy 完成网络映射配置;

[root@master ~]# ps -ef |grep  [doc]ker-proxy
root : ? :: /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port -container-ip 172.17.0.3 -container-port
[root@master ~]# ps -ef |grep []
root 2月19 ? :: /usr/bin/dockerd -H fd://
root : ? :: /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port -container-ip 172.17.0.3 -container-port

containerd :以前是dockerd 的子进程(在此版本中独立运行), 提 供 gRPC 接口响应来自 dockerd 的请 求,对下管理 runc 镜像和容器环境。 可以单独升级;

[root@master ~]# pstree
systemd─┬─NetworkManager─┬─dhclient
│ └─*[{NetworkManager}]
├─abrt-watch-log
├─abrtd
├─*[agetty]
├─auditd───{auditd}
├─containerd─┬─*[containerd-shim─┬─pause]
│ │ └─*[{containerd-shim}]]
│ ├─containerd-shim─┬─etcd───*[{etcd}]
│ │ ├─sh
│ │ └─*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-apiserver───*[{kube-apiserver}]
│ │ └─*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-scheduler───*[{kube-scheduler}]
│ │ └─*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-controller───*[{kube-controller}]
│ │ └─*[{containerd-shim}]
│ ├─containerd-shim─┬─kube-proxy───*[{kube-proxy}]
│ │ └─*[{containerd-shim}]
│ ├─*[containerd-shim─┬─nginx───nginx]
│ │ └─*[{containerd-shim}]]
│ ├─containerd-shim─┬─flanneld───*[{flanneld}]
│ │ └─*[{containerd-shim}]
│ ├─*[containerd-shim─┬─pause]
│ │ └─*[{containerd-shim}]]
│ ├─*[containerd-shim─┬─coredns───*[{coredns}]]
│ │ └─*[{containerd-shim}]]
│ └─*[{containerd}]
├─crond
├─dbus-daemon
├─dockerd─┬─docker-proxy───*[{docker-proxy}]
│ └─*[{dockerd}]

containerd-shim:是 containerd 的子进 程,为 runc 容器提供支持,同时作 为容器内进程的根进程。 runc 是从 Docker 公司开源的 libcontainer 项目演化而来

3.docker基础架构的更多相关文章

  1. 如何使用 Docker、ECS、Terraform 重建基础架构?

    早期 Segment 基础架构普遍组合在一起.我们通过 AWS 界面设定实例,使用许多闲散的 AMI,并且采用三种不同的部署方式. 然而随着商业的飞速发展,工程师团队的规模不断扩大,基础架构的复杂度也 ...

  2. 基础架构之Docker私有库

    由于项目要容器化,所有搭建自己的镜像库也是很有必要的,不然发到直接使用官方的镜像库,速度绝对能让你头疼,这篇文章就介绍搭建自己的镜像私有库. (一)  环境要求 Centos 7.5.1804 Doc ...

  3. AWS EC2+Docker+JMeter构建分布式负载测试基础架构

    目录 概述及范围 前提条件 Part 1: Local setup-本地配置 Part 2: Cloud端基础架构--Infrastructure 总结: 原文链接 @ 概述及范围 本文介绍有关如何使 ...

  4. 庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署

    庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署 一.简介      我们在上一篇文章<庐山真面目之八微服务架构 NetCore 基于 Dockerfile ...

  5. Docker系列03—Docker 基础入门

    本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...

  6. docker基础内容讲解

    一.初识docker 1.1 LXC介绍 LXC为LinuX Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提 ...

  7. 容器101:Docker基础

    Docker如此受欢迎的一个原因是它提供了“一次开发,随处运行”的承诺.Docker提供了一种将应用程序及其运行时依赖性打包到单个容器中的简单方法.它还提供了一个运行时抽象,使容器能够跨不同版本的Li ...

  8. Docker 基础 - Docker 与前端(二)

    一.Docker 系统架构 守护进程 负责容器的创建.运行和监控,还负责镜像的构建和存储.docker demon 命令可启动 Docker 守护进程. Docker 客户端 通过http与 dock ...

  9. 基础架构之Gitlab Runner

    基础架构之Gitlab Runner也是常用的基础设施,我们接着GitLab操作,具体使用GitlabRunner,如果不熟悉可以见官方详细介绍https://docs.gitlab.com/runn ...

随机推荐

  1. Pull is not possible because you have unmerged files

    Pull is not possible because you have unmerged files.   在git pull的过程中,如果有冲突,那么除了冲突的文件之外,其它的文件都会做为sta ...

  2. 工具 Windows安装Anaconda

    下载 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 安装 1.勾选添加Anaconda到PATH环境变量 2.配置清华镜像 conda ...

  3. python推导式创建序列

    推导式创建序列 推导式是一个或多个迭代器快速创建序列的一种方式.可以将循环和条件判断结合,简化代码.几个推导式注意符号的使用,比如小括号,方括号,大括号等等. 列表推导式 列表推导式生成列表对象,语法 ...

  4. MongoDB的分片集群搭建

    MongoDB的最为自豪的一个特色之一,分片. 参考官方文档: https://docs.mongodb.com/manual/sharding/  单机压力,高频查询CPU,IO 单表压力,百万千万 ...

  5. 构建前端gulp自动化

    看了很多关于Gulp自动化的相关教程,很感谢大神们的教程, 因为担心自己会忘记啥的,所以就把自己搭建gulp自动化的过程记录下来~~~ gulp是依赖于Nodejs的,所以最好是有点nodejs的基础 ...

  6. 【C# 复习总结】类、继承和接口

    1 类 定义新的数据类型以及这些新的数据类型进行相互操作的方法 定义方式: class Cat { } class Cat:object { } C#中所有的类都是默认由object类派生来的,显示指 ...

  7. 【C#复习总结】细说匿名方法

    1 前言 本系列会将[委托] [匿名方法][Lambda表达式] [泛型委托] [表达式树] [事件]等基础知识总结一下.(本人小白一枚,有错误的地方希望大佬指正) 系类1:细说委托 系类2:细说匿名 ...

  8. MySQL 5.7中如何定位DDL被阻塞的问题

    在上篇文章<MySQL表结构变更,不可不知的Metadata Lock>中,我们介绍了MDL引入的背景,及基本概念,从“道”的层面知道了什么是MDL.下面就从“术”的层面看看如何定位MDL ...

  9. java并发线程池---了解ThreadPoolExecutor就够了

    总结:线程池的特点是,在线程的数量=corePoolSize后,仅任务队列满了之后,才会从任务队列中取出一个任务,然后构造一个新的线程,循环往复直到线程数量达到maximumPoolSize执行拒绝策 ...

  10. Leetcode 665. Non-decreasing Array(Easy)

    Given an array with n integers, your task is to check if it could become non-decreasing by modifying ...