• Docker(十六)-Docker的daemon.json的作用


    docker安装后默认没有daemon.json这个配置文件,需要进行手动创建。配置文件的默认路径:/etc/docker/daemon.json

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

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

    参数 
    daemon.json文件可配置的参数表,我们在配置的过程中,只需要设置我们需要的参数即可,不必全部写出来。详细参考官网。

    官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/#/configuration-reloading。

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

    官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/#/linux-configuration-file

    {
    "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":""
    }

    上述是官网docs提供的一个示例配置,我们可以参考,选择性的配置其中的部分内容。

    示例 

    1、如何配置 registry 私库相关的参数
    涉及以下2个参数:

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

    2.配置示例:

    # cat /etc/docker/daemon.json
    
    {
    "registry-mirrors": [
    "https://d8b3zdiw.mirror.aliyuncs.com"
    ],
    
    "insecure-registries": [
    "https://ower.site.com"
    ],
    }

    配置与应用

    1.默认没有文件,所以我们需要先创建,进入/etc/docker目录下,记得创建的文件所有者是root(vim或touch,记得chown修改所有者)
    -rw-r--r-- 1 root root 71 Dec 19 17:25daemon.json
    2.在文档中配置想要添加的参数:如,镜像加速器网站,私库网站

    # cat /etc/docker/daemon.json
    {
    "registry-mirrors":[
    "https://d8b3zdiw.mirror.aliyuncs.com"
    ],
    
    "insecure-registries": [
    "https://ower.site.com"
    ],
    }

    3.创建并修改完daemon.json文件后,需要让这个文件生效
    a.修改完成后reload配置文件

    sudo systemctl daemon-reload

    b.重启docker服务

    sudo systemctl restart docker.service

    c.查看状态

    sudo systemctl status docker -l

    d.查看服务

    sudo docker info

    当我们需要对docker服务进行调整配置时,不用去修改主文件 docker.service的参数,通过daemon.json配置文件来管理,更为安全、合理。

  • 相关阅读:
    关于word开发中字体大小
    WPF学习笔记
    C#各种配置文件使用,操作方法总结
    web.config和app.config使用
    微软 WordXML格式初步分析
    面向对象—C#高级编程(第10版)学习笔记8
    C#编程的推荐规则和约定—C#高级编程(第10版)学习笔记7
    C#基础—C#高级编程(第10版)学习笔记6
    .Net 应用程序体系结构—C#高级编程(第10版)学习笔记5
    通俗易懂说编程:.Net Core是什么、有何用?
  • 原文地址:https://www.cnblogs.com/zhuochong/p/10070434.html
Copyright © 2020-2023  润新知