【notes】docker学习笔记4-docker客户端与守护进程

docker的C/S模式

客户端与守护进程通信的接口

  1. 命令行接口
  2. remote API:

连接方式

  • unix:///var/run/docker.sock 默认方式
  • tcp://host:port
  • fd://socketfd

利用socket进行通信

  • 查看正在运行的守护进程
1
ps -ef | grep docker
  • 连接socket进行通信
1
2
nc -U /var/run/docker.sock
GET /info HTTP/1.1

以上都是在本地的访问,docker也支持远程访问。

docker守护进程的配置和操作

  • 查看守护进程
1
2
ps -ef | grep docker
sudo status docker
  • 守护进程的启动、停止和重启
1
2
3
sudo service docker start
sudo service docker stop
sudo service docker restart
  • docker的启动选项

    1
    docker -d [OPTIONS]  #所以守护形式运行
  • 运行相关:
    -D, –debug = false
    -e, –exec-driver = “native”
    -g, –graph = “/var/lib/docker”
    –icc = true
    -l, –log-level = “info”
    –label = []
    -p, –pidfile = “/var/run/docker.pid”

  • docker服务器连接相关:
    -G, –group = “docker”
    -H, –host = []
    –tls = false
    –tlscacert = “/home/sven/.docker/ca.pem”
    –tlscert = “/home/sven/.docker/cert.pem”
    –tlskey = “/home/sven/.docker/key.pem”
    –tlsverify = false

  • RemotAPI相关:
    –api-enable-cors = false

  • Registry相关:
    –insecure-registry = []
    –registry-mirror = []

  • 网络设置相关:
    -b, –bridge = “”
    –bip = “”
    –fixed-cidr = “”
    –fixed-cidr-v6 = “”
    –dns = []
    –dns-search = []
    –ip = 0.0.0.0
    –ip-forward = true
    –ip-masq = true
    –iptables = true
    –ipv6 = false
    –mtu = 0

  • 启动配置文件 /etc/default/docker
    注:ubuntu 16.04及以上版本使用:

    修改/lib/systemd/system/docker.service中的ExecStart
    加载配置:
    
    1
    2
    3
    systemctl daemon-reload
    service docker restart
    docker info

docker的远程访问

  • 第二台安装docker的服务器
  • 保证Client API与Server API版本一致

修改docker守护进程启动选项

  • 修改服务器端配置
    -H tcp://host:post

    unix:///path/to/socket 
    fd://* or fd//socketfd

    守护进程默认配置:

    -H unix:///var/run/docker.sock
    注:我的默认的是 fd://

    改为 tcp:

    tcp://0.0.0.0:2375
    1
    curl http://ip:2375/info
  • 修改客户端配置
    -H tcp://host:post

    unix:///path/to/socket 
    fd://* or fd//socketfd

    默认配置:

    -H unix:///var/run/docker.sock
    1. docker -H tcp//ip:2375 # 太麻烦
    2. export DOCKET_HOST=”tcp://ip:2357” # 使用环境变量
      export DOCKET_HOST=”tcp://ip:2357” # 使用本地
  • 怎样在设置了远程连接的服务器也支持本机连接?
    答:给-H再增加一个方式,-H可以设置多个值。

———————————————感谢阅读———————————————

欢迎收藏访问我的博客 知乎 掘金 简书 知乎

贰三 wechat
欢迎扫描二维码订阅我的公众号!