新版本Docker的daemon.json文件的参数

本文深入解析Docker守护进程的配置选项,包括debug模式、DNS设置、存储路径、TLS认证等关键参数,帮助读者理解如何优化Docker的运行环境。
{
 "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":""
 }

 

### CentOS 7 离线安装 Docker 并配置 Daemon 文件 #### 准备工作 为了在CentOS 7上离线安装Docker并配置`daemon.json`文件,需先获取必要的二进制文件。这通常意味着要在能够访问互联网的机器上下载适用于目标系统的Docker版本。 对于Docker本身,在源服务器上通过官方渠道下载对应架构的`.tgz`压缩包[^4]。接着将此压缩包传输到目标离线环境中。 #### 安装依赖项 即使是在离线模式下操作,也需要确保目标主机已预先安装了一些基本工具和服务,比如`yum-utils`, `device-mapper-persistent-data`, 和 `lvm2`等软件包。这些应该提前在线安装好或者通过其他方式准备好rpm包以便于后续部署[^1]。 #### 解压与设置环境变量 解压所获得的Docker存档至指定目录(如`/usr/local/bin/docker`),并将该路径添加到系统的PATH环境变量中以方便调用命令行工具。 ```bash tar -xzvf docker.tgz --strip-components=1 -C /usr/local/bin/ export PATH=$PATH:/usr/local/bin/docker ``` #### 创建Systemd服务单元文件 由于直接从二进制分发版安装不会自动创建相应的systemd服务定义,所以还需要手动建立一个名为`docker.service`的服务描述文档放置于`/etc/systemd/system/`目录下: ```ini [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service containerd.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/local/bin/dockerd \ --containerd=/run/containerd/containerd.sock \ $DOCKER_OPTS Restart=always RestartSec=30s LimitNOFILE=infinity LimitNPROC=infinity TimeoutStopSec=30s Delegate=yes KillMode=process [Install] WantedBy=default.target ``` 上述配置指定了如何启动守护进程以及它与其他系统组件之间的关系;特别是要注意的是`$DOCKER_OPTS`占位符允许进一步自定义选项传递给Docker引擎[^2]。 #### 配置Daemon参数 编辑位于`/etc/docker/daemon.json`中的JSON格式配置文件可以调整Docker的行为特性。例如修改默认存储驱动、镜像仓库地址或者其他高级功能。下面是一个简单的例子展示怎样更改日志级别和启用insecure registries支持: ```json { "log-level": "info", "insecure-registries" : ["myregistry.local:5000"] } ``` 完成以上步骤之后记得运行`systemctl daemon-reload && systemctl restart docker`使新的设定生效。 #### 测试验证 最后一步是确认一切正常运作——可以通过执行`docker version`检查客户端和服务端的信息是否匹配预期版本号[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值