首页 > 其他分享 >Docker(十六)-Docker的daemon.json的作用

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

时间:2024-04-24 14:13:32浏览次数:15  
标签:daemon false 默认 json docker com Docker

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 { "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个参数:

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

2.配置示例:

1 2 3 4 5 6 7 8 9 10 11 # 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.在文档中配置想要添加的参数:如,镜像加速器网站,私库网站

1 2 3 4 5 6 7 8 9 10 # 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配置文件来管理,更为安全、合理。

 

原文:https://www.cnblogs.com/zhuochong/p/10070434.html

 

标签:daemon,false,默认,json,docker,com,Docker
From: https://www.cnblogs.com/lvjinlin/p/18155148

相关文章

  • Docker(十五)-Docker的数据管理(volume/bind mount/tmpfs)
    Docker提供了三种不同的方式用于将宿主的数据挂载到容器中:volumes,bindmounts,tmpfsvolumes。当你不知道该选择哪种方式时,记住,volumes总是正确的选择。volumes是Docker数据持久化机制。bindmounts依赖主机目录结构,volumes完全由Docker管理。Volumes有以下优点:Volumes更容易备......
  • Docker(二十)-Docker容器CPU、memory资源限制
    背景在使用docker运行容器时,默认的情况下,docker没有对容器进行硬件资源的限制,当一台主机上运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说会导致容器资源使用不公平;大的来说,可......
  • Docker(十三)-Docker save and load镜像保存
    持久化docker的镜像或容器的方法Docker的镜像和容器可以有两种方式来导出dockersave#IDor#Namedockerexport#IDor#Namedockersave和dockerexport的区别对于DockerSave方法,会保存该镜像的所有历史记录对于DockerExport方法,不会保留历史记录,即没有commit历史......
  • Docker(十七)-修改Docker容器启动配置参数
    有时候,我们创建容器时忘了添加参数 --restart=always ,当Docker重启时,容器未能自动启动,现在要添加该参数怎么办呢,方法有二:1、Docker命令修改dockercontainerupdate--restart=always容器名字2、直接改配置文件首先停止容器,不然无法修改配置文件配置文件路径为:/var/l......
  • mormot2 json 操作
    [mormot2json操作]本文非完全原创,本文部分内容来自博客园,作者:{咏南中间件}unitmormot2.json.serial;interfaceusesClasses,SysUtils,mormot.core.buffers,mormot.core.text,mormot.core.json,mormot.core.base//;type{TSerial}TSerial......
  • Docker(十四)-Docker四种网络模式
    Docker安装时会自动在host上创建三个网络,我们可用 dockernetworkls 命令查看:none模式,使用--net=none指定,该模式关闭了容器的网络功能。host模式,使用--net=host指定,容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。bridge模式,使用--net=bridge指定......
  • FormData传输JSON同时上传单个/多个文件问题
    背景最近在开发一个功能时,涉及到向后端接口发送:JSON请求参数多个文件刚开始想通过RequestBody(application/json)形式进行传值,但是文件不好处理。有一个通过application/json传输文件数据的方法,就是将文件转成base64,然后在后端进行处理。但是这种方式涉及到大文件传输的时候,转......
  • docker-desktop使用redis镜像问题
    在学习docker的过程中尝试安装redis提供服务给本地开发环境,由于在windows环境下开发所以使用docker-desktop+wsl模式下运行,具体安装过程这里不展示。1.挂载配置文件与存储目录  刚开始的时候想挂载在docker运行的宿主wsl子系统中,docker-desktop运行时会启动docker-desktop与do......
  • 【实用技巧】JSON格式转换方式
    1 前言对接开发中,常遇到的就是报文转换。比如从淘宝或者京东拉取订单,亦或是各个公司内部的WMS、OMS等交互,都涉及到格式转换。而大多的格式基本上都是JSON格式,当然也有一些老的SAP交互用的是XML格式的,还有一小部分webService接口也是用的XML格式。那我们这节就看看JSON......
  • 【Docker系列】Section 2: Creating Kubernetes Development Clusters, Understandi
    引言:在Section2中,我们将转移到Kubernetes集群和对象。本节的第一章将解释如何使用一个流行的工具来创建库集群,称为KinD。我们将解释如何创建不同的网络集群,其范围从single-node(单节点)集群到使用HAProxy作为工作节点的负载平衡器的multiple-node(多节点)集群。通过一个可工作......