Docker学习笔记 - Docker客户端和服务端

学习内容:linux

  Docker客户端和服务端的通信方式:client和自定义程序docker

  Docker客户端和服务端的链接方式:socketjson

  演示Docker客户端和服务端之间用remote-api通信:nc   -U   /var/run/docker.sockapi

 

一、Docker客户端和服务端的链接方式app

方式一:client 和 demaonsocket

  User   <-->  Docker客户端  <-->  Docker服务端(守护进程)tcp

    User发送命令给Docker客户端,如:docker pull、docker run学习

    Docker客户端转发命令给宿主机上的Docker守护进程spa

    Docker守护进程接收执行命令,返回命令执行结果unix

    Docker服务端(守护进程)负责管理宿主机上的各个容器。

 

方式二:自定义程序和 服务端

    User   <-->  自定义程序  <-->  Docker服务端(守护进程)

    自定义程序调用remote-api,remote-api是 rest风格的api

    https://docks.docker.com/reference/api/docker_remote_api

 

二、Docker客户端和守护进程经过Socket链接,能够远程或本地链接

  • Unix的端口,如:unix:///var/run/docker/sock(默认链接方式)
  • tcp://host:prot
  • fd://socketfd

  

   

     在服务端,查看是否启动了docker的守护进程

  ps -ef | grep docker

  root  1526  1  9  17:34  ?   00:00:99  /usr/bin/docker -d

  

  docker version

  

三、经过linux的nc命令演示remote-api的使用

     其中,

  -U 指明使用socket

  /var/run/docker.sock 指明 socket 地址

  info是个remote-pi

 

  nc   -U   /var/run/docker.sock

  GET /info HTTP/1.1

  

  返回信息

  HTTP/1.1 200 OK

  Content-Type:application/json

  Job-Name:info

  Date:Tue,14 Apr 2015 09:38:28 GMT

  Content-Length:765

 

  JSON串格式的返回内容

相关文章
相关标签/搜索