Docker 服务C/S模式之服务端dockerd说明

2019-03-07 0 By admin

一、Docker 服务的C/S模式

Docker 容器化服务分为服务端守护进程和客户端管理工具,使用不同的二进制文件。

  1. 服务端守护进程的二进制文件为dockerd;容器化服务的主要运行进程。
  2. 客户端管理工具的二进制文件为docker;将用户的管理指令发送给守护进程dockerd。

二、Docker 服务的服务端守护进程 Dcokerd 介绍

一般情况下,使用包管理器安装完 Docker 服务后,直接使用service docker start 命令就可以启动服务端守护进程了。
如果想调试守护进程的话,可以使用dockerd -d或将“debug”:true添加到daemon.json文件中。

2.1、Dockerd 服务运行相关的文件

1、环境配置文件
/etc/sysconfig/docker-network
/etc/sysconfig/docker-storage
/etc/sysconfig/docker

2、UNIX File:
/usr/lib/systemd/system/docker.service
3、docker registry配置文件
/etc/containers/registries.conf

2.2、容器守护进程配置项设置

dockerd 守护进程属性信息的配置文件:/etc/docker/daemon.json
每一个可设置的键是 dockerd 的可用的选项,其值为选项的参数;但有些参数不可用于此文件中,例如 add-registry、insecure-registry。有些选项的参数是数组的格式,需要放置于数组[]中。
官方文档:https://docs.docker.com/engine/reference/commandline/dockerd/

2.3、配置镜像加速器

国内常用的加速器有:docker cn;阿里云加速器 和 中国科技大学。
docker-ce 配置文件(/etc/docker/daemon.json)添加上 registry-mirrors 键值。
{"registry-mirrors": ["https://registry.docker-cn.com"]}

2.4、容器守护进程监听通信方法

dockerd 容器服务守护进程的C/S架构,其默认仅监听Unix SOcket格式的地址:/var/run/docker.sock
如果要配置使用TCP套接字,则编辑配置文件/etc/docker/daemon.json添加配置项:
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
也可向 dockerd 进程启动时直接传递“-H|–host”选项启动服务。

2.5、docker0 网桥配置

自定义docker0桥的网络属性信息:/etc/docker/daemon.json文件
{
"bip": "192.168.1.5/24",
"fixed-cidr": "10.20.0.0/16",
"fixed-cidr-v6": "2001:db8::/64",
"mtu": 1500,
"default-gateway": "10.20.1.1",
"default-gateway-v6": "2001:db8:abcd::89",
"dns": ["10.20.1.2","10.20.1.3"]
}

核心选项为bip,即bridge ip之意,用于指定docker0桥自身的IP地址;其它选项可通过此地址计算得出。
官方配置文档:https://docs.docker.com/engine/userguide/networking/default_network/custom-docker0/