学习内容整理笔记来自 极客学院的 docker 入门教程,更多信息查看 Docker 文档

四.Docker 的 C/S 模式

1.Docker 的守护进程

Docker 是以客户端和守护进程的方式来运行。这里详细的介绍 Docker C/S 模式是如何运行的。

在 Docker Client (即 Docker 客户端)当中,运行 Docker 各种命令。而这些命令会传递给 Docker 的宿主机上运行的 Docker 的守护进程。Docker 的守护进程负责实现 Docker 的各种功能。

Docker客户端和守护进程

Docker 的守护进程运行在宿主机上(即 C/S 架构的 server 端),守护进程会在运行后一直在后台运行,负责实现 Docker 的各种功能。而 Docker 的使用者并不会与守护进程进程交互,而是通过 Docker 的客户端(即 Docker 命令行接口)与 Docker 守护进程进行通信。Docker 命令行接口(即在 Shell 中执行的二进制程序)是 Docker 的最主要的用户接口,用来从用户处接收 Docker 的命令并且传递给守护进程。而守护进程将命令执行的结果返回给客户端并显示在命令行接口中。

2. Remote API

Docker自定义程序和守护进程

Docker 命令行接口虽然是 Docker 的最主要的用户接口,Docker 实际上也提供了另外的与守护进程通信的方式,即 Remote API。它也是一个 RESTful 风格的 API ,可以通过编写程序调用这个 API 来将自己的程序与 Docker 容器进行集成。

但 Docker 的 REmote API 在某些复杂的情况下也支持 STDIN、STDOUT、STDERR 方式来进行通信和交互。更多关于 API 的详细信息查看官网 Engine API v1.24 。

3. 连接方式

Docker 客户端与守护进程通过 Socket 进行连接,并提供了三种连接模式`

  • unix:///var/run/docker.sock (默认)
  • tcp://host:port
  • fd://socketfd

完整 Docker C/S 运行方式

用户自定义的程序通过 Remote API 调用 Docker 服务。而 Docker 的客户端与 Docker 的服务器端通过 Socket 等进行连接。那么,这种连接本身意味着 Docker Client 和 Server 既可以在同一台机器上运行,也可以在不同的机器运行,即 Docker Client 可以通过远程的方式访问 Docker Server。

4. Docker 的守护进程的配置和操作

docker 的使用帮助可以通过 docker --help 查看

4.1 查看 Docker 的守护进程的情况

  • ps -ef|grep docker

  • sudo service docker status

4.2 使用 service 命令管理 docker

Docker 启动

sudo service docker start

Docker关闭

sudo service docker stop

这时 docker 正在运行

docker 服务被关闭

Docker 重启

sudo service docker restart

4.3 docker守护进程的启动选项

docker -d [OPTIONS]
运行相关:-D,--debug=false
    -e,--exec-driver="native"
    -g,--graph="/var/bin/docker"
    --icc=true
    -l,--log-level="info"
    -able=[]
    -p,--pidfile="/var/run/dpcker.pid"
     ...
docker 服务器连接相关:-G,--group="docker"
    -H,--host=[]
    --tls=flase
    --tlscacert="/home/sven/.docker/ca.pem"
    --tlscert="/home/sven/.docker/cert.pem"
    --tlskey="/home/sven/.dovker/key.pem"
    --tlsverify=false
     ...
RemoateAPI相关:--api-enable-cors=false
      ...
存储相关:-s,--storage-driver=""
    --selinux-enabled=flase
    --storage-opt=[]
    ...
Registry相关:--insecure-registry=[]
    --registry-mirror=[]
    ...
网络设置相关:-b,--bridge=""
    --bip=""
    --fixed-cidr=""
    --fixed-cidr-v6=""
    --dns=[]
    --dns-search=[]
    --ip=0.0.0.0
    --ip-forward=ture
    --ip-masq=ture
    --iptables=ture
    --ipv6=false
    --mtu=0
    ...

可查看 Use the Docker command line 获取更详细的信息

Docker 4 之 Docker 客户端和守护进程相关推荐

  1. Docker学习笔记(一)-容器、镜像和客户端与守护进程

    0x00 前言 一直使用过docker,但并不是太了解,于是开始学习了解一下 0x01 docker简介 1.什么是容器? 一种虚拟化的方案 操作系统级别的虚拟化 只能运行相同或相似内核的操作系统 依 ...

  2. 【docker系列】容器自启动与守护进程停止后容器保活

    本文为大家介绍容器自启动以及docker 守护进程挂掉或者docker升级的情况下,如何保证容器服务的正常运行.主要包含三个部分内容 文章目录 一.守护进程开机自启 二.容器自启动 重启策略说明 三. ...

  3. docker——三剑客之Docker Machine

    Docker Machine是Docker官方三剑客项目之一,负责使用Docker的第一步,在多种平台上快速安装Docker环境. 它支持多种平台,让用户在很短时间内搭建一套Docker主机集群. M ...

  4. Docker学习1——Docker入门

    Docker学习1--Docker入门 参考资料 1.Docker简介 2.尚硅谷2022版Docker实战教程(docker教程天花板) 1.1 Docker简介 1.1.1 Docker引入 假定 ...

  5. docker安装、docker容器基本用法

    docker的概念 Image(镜像)  Container(容器)  Repository(仓库)  镜像(Image)就是一堆只读层(read-only layer)的统一视角  容器(conta ...

  6. docker入门之Docker Engine

    文档:Docker Engine overview | Docker Documentation 1.简介 Docker Engine 是一种开源容器化技术,用于构建和容器化您的应用程序. Docke ...

  7. windows守护进程_在Linux的Windows子系统上(WSL)使用Docker(Ubuntu)

    平时开发大部人都是在提供了高效GUI的window下工作,但是真正部署环境普遍都是在Linux中,所以为了让开发环境和部署环境统一,我们需要在windows模拟LInux环境,以前我们可能通过虚拟机的 ...

  8. 【Docker学习总结】12.Docker守护进程的配置和操作

    上一篇总结了Docker的CS模式的具体概念,本篇来学习Docker守护进程的配置和操作. 在上一篇的演示中,我们使用了Linux的ps命令查看了Docker守护进程的运行状态.那么,除了ps命令,我 ...

  9. 带你了解Docker背后的守护进程

    一.守护进程介绍 Docker以root权限运行它的守护进程,来处理普通用户无法完成的操作(如挂载文件系统).docker程序是Docker守护进程的客户端程序,同样也需要以root身份运行.用户可以 ...

最新文章

  1. 在WebStorm里面搜索文件中出现的中文字符
  2. 【转】Mybatis传多个参数(三种解决方案)
  3. Docker容器的使用方法
  4. React手稿 - Context
  5. 自己实现多线程的socket,socketserver源码剖析
  6. Python序列基本操作(四)元组
  7. 批量解决win10图标上有两个蓝色箭头的方法
  8. 从零开始刷Leetcode——数组(532.561)
  9. Javascript:一些基本语法
  10. Hyperledger fabric并发并行性
  11. mysql遵循acid_关系型数据库遵循ACID规则
  12. .通过JAVA-Webservices向其它平台提供Hbase服务
  13. 进销存软件哪个简单好用?商户必看
  14. 医院计算机五大应用系统,医疗系统计算机应用的现状与发展
  15. Elasticsearch创建索引
  16. 通过路由器端口映射实现远程桌面连接
  17. 用闭包写法优化laravel多条件查询
  18. 软文营销文案写作如何用创意编制想象力“城堡”
  19. Bert入门学习过程记录
  20. termios程序范例

热门文章

  1. 2172php,MAX2172 直接变频至低IF的调谐器,用于数字音频广播
  2. 服务进程无法连接到服务控制器上_魔兽世界 无法连接服务 暴雪游戏agent进入睡眠模式。。。。...
  3. 推荐学java——Spring之AOP
  4. n1怎么进入线刷模式_OPPO N1怎么进Recovery模式 两种OPPO N1进入Recovery模式方法
  5. 程序修行从“拔刀术”到“万剑诀”
  6. idea gradle一直卡在initializing gradle projects data终极解决
  7. 计算机无法识别硬盘怎么办,硬盘电脑不识别怎么办?硬盘数据怎么恢复?
  8. 网易云音乐评论内容逆向分析
  9. 这笔投资你算过吗?―写给二本院校的苦逼青年
  10. 最流行的编程语言2018_2018年十大最受欢迎的编程语言