转载:https://blog.csdn.net/u013948858/article/details/79974796

daemon.json 文件是 docker 的配置参数,默认安装 docker 后是没有这个文件的,需要手动来创建:

mkdir -p /etc/docker/daemon.json

一、支持参数

一般情况,配置文件 daemon.json 中配置的项目参数,在启动参数中同样适用,有些可能不一样(具体可以查看官方文档),但需要注意的一点,配置文件中如果已经有某个配置项,则无法在启动参数中增加,可以会出现冲突的错误

如果在 daemon.json 文件中进行配置,需要 docker 版本高于 1.12.6 (在这个版本上不生效,1.13.1 以上是生效的)

官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/#options

{
    "api-cors-header": "", 
    "authorization-plugins": [ ], 
    "bip": "", 
    "bridge": "", 
    "cgroup-parent": "", 
    "cluster-store": "", 
    "cluster-store-opts": { }, 
    "cluster-advertise": "", 
    "debug": true,            # 启用debug的模式,启用后,可以看到很多的启动信息,默认false
    "default-gateway": "", 
    "default-gateway-v6": "", 
    "default-runtime": "runc", 
    "default-ulimits": { }, 
    "disable-legacy-registry": false, 
    "dns": ["192.168.1.1"],  # 设定容器DNS的地址,在容器的 /etc/resolv.conf文件中可查看
    "dns-opts": [ ],         # 容器 /etc/resolv.conf 文件,其他设置
    "dns-search": [ ],       # 设定容器的搜索域,当设定搜索域为 .example.com 时,在搜索一个名为 host 的 主机时,DNS不仅搜索host,还会搜索host.example.com 。 注意:如果不设置, Docker 会默认用主机上的 /etc/resolv.conf 来配置容器
    "exec-opts": [ ], 
    "exec-root": "", 
    "fixed-cidr": "", 
    "fixed-cidr-v6": "", 
    "graph": "/var/lib/docker",      # 已废弃,使用data-root代替,这个主要看docker的版本
    "data-root": "/var/lib/docker",  # Docker运行时使用的根路径,默认/var/lib/docker
    "group": "",                     # Unix套接字的属组,仅指/var/run/docker.sock
    "hosts": [ ],                    # 设置容器hosts
    "icc": false, 
    "insecure-registries": [ ],      # 配置docker的私库地址
    "ip": "0.0.0.0", 
    "iptables": false, 
    "ipv6": false, 
    "ip-forward": false,  # 默认true, 启用 net.ipv4.ip_forward ,进入容器后使用 sysctl -a | grepnet.ipv4.ip_forward 查看
    "ip-masq": false, 
    "labels": ["nodeName=node-121"],  # docker主机的标签,很实用的功能,例如定义:–label nodeName=host-121
    "live-restore": true, 
    "log-driver": "", 
    "log-level": "", 
    "log-opts": { }, 
    "max-concurrent-downloads": 3, 
    "max-concurrent-uploads": 5, 
    "mtu": 0, 
    "oom-score-adjust": -500, 
    "pidfile": "",     # Docker守护进程的PID文件
    "raw-logs": false, 
    "registry-mirrors": ["xxxx"],  # 镜像加速的地址,增加后在 docker info中可查看
    "runtimes": {
        "runc": {
            "path": "runc"
        }, 
        "custom": {
            "path": "/usr/local/bin/my-runc-replacement", 
            "runtimeArgs": [
                "--debug"
            ]
        }
    }, 
    "selinux-enabled": false,  # 默认 false,启用selinux支持
    "storage-driver": "", 
    "storage-opts": [ ], 
    "swarm-default-advertise-addr": "", 
    "tls": true,       # 默认false, 启动TLS认证开关
    "tlscacert": "",   # 默认~/.docker/ca.pem,通过CA认证过的的certificate文件路径
    "tlscert": "",     # 默认~/.docker/cert.pem,TLS的certificate文件路径
    "tlskey": "",      # 默认~/.docker/key.pem,TLS的key文件路径
    "tlsverify": true, # 默认false,使用TLS并做后台进程与客户端通讯的验证
    "userland-proxy": false, 
    "userns-remap": ""
}
二、配置私库和加速器

涉及以下2个参数:

  • “insecure-registries”: [], # 这个私库的服务地址
  • “registry-mirrors”: [], # 私库加速器

cat /etc/docker/daemon.json

{
    "registry-mirrors": [
       "https://d8b3zdiw.mirror.aliyuncs.com"
    ],
 
    "insecure-registries": [
       "https://ower.site.com"
    ]}

systemctl daemon-reload # 加载配置文件
systemctl restart docker # 重启docker生效

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐