当前位置:   article > 正文

五、Docker客户端和守护进程_docker客户端与守护进程

docker客户端与守护进程

一、Docker -Docker的CS模式

1、下图为Docker官方提供的Docker的CS运行模式的介绍:

在这里插入图片描述
在Docker Client中来运行Docker的各种命令,而这些命令会传送给在Docker的宿主机上运行的Docker的守护进程。而Docker的守护进程是负责来实现Docker的各种功能。

2、Docker的客户端与守护进程的描述

如图所示用户访问docker的流程,用户并不是直接和docker的守护进程交互,而是通过Docker client和docker的守护进程交互。
在这里插入图片描述

3、Remote API

当然啦docker也提供别的方式和docker守护进程进行交互,比如使用remote api,用户可以通过调用restful风格的借口对docker进行操作,如果我们可以看到在docker的官方文档提供了很多供我们使用的api。。也就是说,我们可以通过编写程序,调用这个API,来将我们自己的程序与Docker进行集成。

Docker的Remote在某些复杂的情况下,也支持以下方式进行交互:
STDIN、STDOUT、STDERR
备注:标准输入(STDIN)、标准输出(STDOUT)、标准错误输出(STDERR)

而这个时候我们和docker的守护进程间的通信就变成了这个如下流程:
在这里插入图片描述

4、Docker客户端与守护进程的通信方式

Docker的客户端与守护进程,实际上是通过Socket进行连接的。
在这里插入图片描述

Docker提供了三种进行Socket连接的模式:

  • Unix的端口模式
unix:///var/run/docker.sock
  • 1
  • TCP协议的host:port模式:
tcp://host:port
  • 1
  • fd的Socket模式
fd://socketfd
  • 1

其中,Unix的端口模式是Docker默认的客户端与守护进程的连接方式。我们也可以通过配置进行修改,来使用其它的Socket连接方式。

5、连接演示

1)、检验docker是否启动

ps -ef|grep docker
  • 1

在这里插入图片描述
或者

systemctl status docker.service
  • 1

在这里插入图片描述

2)、查看docker版本

docker version
  • 1

在这里插入图片描述
其中的“server API version”指的就是我们刚刚讲的Remote API的版本。

3)、通过unix:///var/run/docker.sock访问

首先:daemon默认监听/var/run/docker.sock这个文件,docker客户端把请求发往这里,daemon就能收到并做出响应。

其次:看异常信息推测:var/run/docker.sock文件异常,执行systemctl status docker.socket查看其状态

在这里插入代码片
  • 1

我们需要使用Linux的netcat(nc)的命令,来实现socket的连接:

unix:///var/run/docker.sock
  • 1
nc -U /var/run/docker.sock
  • 1

上面我们使用“-U”来指明使用的是socket,Docker使用的socket地址为“/var/run/docker.sock”。回车后,就已经成功连接了socket:
注意:
没有nc命令,使用“yum install -y nc”即可安装。
在这里插入图片描述

注意:
发送HTTP请求时输入完get信息后要连按两次回车

nc -U /var/run/docker.sock
  • 1

在这里插入图片描述

在这里插入图片描述

二、Docker 守护进程的配置和操作

1.查看docker守护进程的运行状态

systemctl status docker.service
或者
ps -ef|grep docker
  • 1
  • 2
  • 3

在这里插入图片描述

2.docker守护进程的操作

#启动:
systemctl start docker
#查看docker版本
docker version
#查看docker运行状态
systemctl status docker.service
或者
ps -ef|grep docker
#停止
systemctl stop docker
#重启
systemctl restart docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

2.docker启动配置文件

在CentOS7中docker启动配置文件在/usr/lib/systemd/system/下

vim  /usr/lib/systemd/system/docker.service
  • 1

三、Docker 的远程访问

1、CENTOS7中开放DOCKER远程连接端口

1 配置

  vim  /usr/lib/systemd/system/docker.service
  • 1

找到 ExecStart,在最后面添加

-H tcp://0.0.0.0:2375  -H unix://var/run/docker.sock
  • 1

在这里插入图片描述
注意: 防火墙

systemctl  status firewalld
systemctl  stop firewalld

  • 1
  • 2
  • 3

2. curl验证

curl http://localhost:2375/version
  • 1

在这里插入图片描述

3.浏览器验证

http://192.168.153.130:2375/version
  • 1

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/936953
推荐阅读
相关标签
  

闽ICP备14008679号