zoukankan      html  css  js  c++  java
  • 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://

  • 相关阅读:
    Dubbo监控中心
    Dubbo 提供者配置&测试
    IDEA中pom.xml依赖另一个项目
    MBG
    查询优化技术之多级缓存
    分布式扩展流程
    Redis取值时取出的是HashMap
    linux执行sql
    Git的使用
    405
  • 原文地址:https://www.cnblogs.com/wyzhou/p/10429794.html
Copyright © 2011-2022 走看看