Docker學習筆記 - Docker客戶端和服務端


學習內容:

  Docker客戶端和服務端的通訊方式:client和自定義程序

  Docker客戶端和服務端的連接方式:socket

  演示Docker客戶端和服務端之間用remote-api通訊:nc   -U   /var/run/docker.sock

 

1、Docker客戶端和服務端的連接方式

方式一:client 和 demaon

  User   <-->  Docker客戶端  <-->  Docker服務端(守護進程)

    User發送命令給Docker客戶端,如:docker pull、docker run

    Docker客戶端轉發命令給宿主機上的Docker守護進程

    Docker守護進程接收執行命令,返回命令執行結果

    Docker服務端(守護進程)負責管理宿主機上的各個容器。

 

方式二:自定義程序和 服務端

    User   <-->  自定義程序  <-->  Docker服務端(守護進程)

    自定義程序調用remote-api,remote-api是 rest風格的api

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

 

2、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

  

3、通過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串格式的返回內容

 

  

 

 

 

  

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM