Docker客户端连接Docker Daemon的方式

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值