博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker客户端连接Docker Daemon的方式
阅读量:5172 次
发布时间:2019-06-13

本文共 864 字,大约阅读时间需要 2 分钟。

Docker为C/S架构,服务端为docker daemon,客户端为docker.service,支持本地unix socket域套接字通信远程socket通信

默认为本地unix socket通信,要支持远程客户端访问需要做如下设置(不安全,仅用于测试),

1、UNIX域套接字

默认就是这种方式,会生成一个/var/run/docker.sock文件,UNIX域套接字用于本地进程之间的通讯, 这种方式相比于网络套接字效率更高,但局限性就是只能被本地的客户端访问。

 2、TCP端口监听

服务端开启端口监听dockerd  -H | --host  IP:PORT , 客户端通过指定IP和端口访问服务端 docker -H IP:PORT

通过这种方式,任何人只要知道暴露的ip和端口就能随意访问docker服务(因为docker的权限很高,一旦被突破就能够取得服务端宿主机的最高权限),因此这种方式一定要使用TLS加密通信

 3、启动docker守护进程时可以同时监听多个socket

 

 Docker 客户端要和 Docker daemon 通过 REST API 通信,那就让我们看看它们可以采用的方法有哪些:

  1. Unix socket (-H unix:///var/run/docker.sock)
  2. Systemd socket activation (-H fd://)
  3. Tcp (-H tcp://127.0.0.1:2376)

1和2可理解成一种方式,就是同一台主机上的进程间通信。

dockerd  -H unix:///var/run/docker.sock  -H tcp://127.0.0.1:2376  -H tcp://127.0.0.1:2377

-H fd://方式不能与-H tcp://方式同时使用,若同时使用仅前者生效

若要socket和tcp方式同时使用,则使用unix:///和tcp://

 

转载于:https://www.cnblogs.com/wyzhou/p/10429794.html

你可能感兴趣的文章
如何在键盘出现时滚动表格,以适应输入框的显示
查看>>
超级强大的鼠标手势工具
查看>>
常用Dockerfile举例
查看>>
jquery的ajax用法
查看>>
设计模式-策略模式(Strategy)
查看>>
django orm 数据查询详解
查看>>
JarvisOJ Basic 熟悉的声音
查看>>
C# list导出Excel(二)
查看>>
CAS 单点登录模块学习
查看>>
Android应用开发-网络编程①
查看>>
input中的name,value以及label中的for
查看>>
静态库制作-混编(工程是oc为基础)
查看>>
jQuery 显示加载更多
查看>>
Confluence 6 系统运行信息中的 JVM 内存使用情况
查看>>
Confluence 6 升级以后
查看>>
用JS实现版面拖拽效果
查看>>
二丶CSS
查看>>
《avascript 高级程序设计(第三版)》 ---第二章 在HTML中使用Javascript
查看>>
JS一些概念知识及参考链接
查看>>
TCP/IP协议原理与应用笔记24:网际协议(IP)之 IP协议的简介
查看>>