(五)Docker客户端与守护进程——CS模式简介
在(一)初识Docker(2)——基本组成 中曾经提到过Docker是用客户端与守护进程的模式运行。
本节包括:通信方式,连接方式。
通信方式:
1.docker客户端中运行各种命令,命令会传递给docker的宿主机上运行的docker守护进程,docker守护进程实现docker的各种功能,返回结果给客户端,显示在客户端命令行中。
2.docker还有另外的命令行接口,remote API,restful风格的API,可以通过编写程序调用remoteAPI,完成自定义程序与docker的集成。
连接方式:
docker通过socket与守护进行连接,有三种方式,可以通过配置随意切换方式:
unix:///var/run/docker.sock(默认连接方式)
tcp://host:port
fd://socketfd
流程:使用命令行或者程序与docker客户端通信,docker客户端通过socket与docker服务端连接。通过图片可以看出docker的客户端与docker服务端可以在不同机器上运行,通过远程连接的方式。
docker的守护进程在启动后会一直运行,可以使用{ ps -ef | grep docker }命令查看docker的运行情况。
客户端连接方式:
确认docker服务端在运行中,在命令行中使用docker命令就是使用docker客户端与docker服务端进行交互。
例如使用{ docker version }查看docker版本信息,里面的API version就是Remote API的版本号。
remote API连接方式:
确认docker服务端在运行中,在命令行中使用remote API与服务端进行通信。
例如使用{ nc -U /var/run/docker.sock }命令与docker服务端建立socket通信,然后输入{ GET /info HTTP/1.0 },查看info接口返回的信息。