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

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

jfrog 培训的时候 说过这个地方 但是也记不太清楚了先转帖一下 再做实验. 

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配置文件来管理,更为安全、合理。

[转帖]Docker的daemon.json的作用的更多相关文章

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

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

  2. 修改 Docker 的 daemon.json后启动失败

    创建Harbor要把register 换成Harbor地址 vim /etc/docker/daemon.json添加{ "insecure-registries":[" ...

  3. Docker修改daemon.json后无法启动的问题

    本文的运行环境为Centos 7.3,Docker与Kubernetes的安装方式见kubeadm安装kubernetes V1.11.1 集群 最近在整理Docker和Kubernetes中的日志与 ...

  4. docker daemon文件/etc/docker/daemon.json配置

    On Linux The default location of the configuration file on Linux is /etc/docker/daemon.json. The --c ...

  5. docker daemon.json 配置

    下面是自己设置的 /etc/docker/daemon.json 文件中的配置案例 [root@master docker]# cat daemon.json { "registry-mir ...

  6. docker 配置文件:/etc/docker/daemon.json

    /etc/docker/daemon.json 是 docker 的配置文件,默认是没有的,需要我们手动创建,可配置项如下: [root@localhost ~]$ vim /etc/docker/d ...

  7. 修改/etc/docker/daemon.json中的log-opts配置发现无效 docker 限制日志大小

    https://colobu.com/2018/10/22/no-space-left-on-device-for-docker/ 在/etc/docker/daemon.json中修改或添加log- ...

  8. Docker daemon.json 的配置项目合集

    这几天看了一点docker相关的东西, 在学习中: 看了下园友的blog 感觉很好 这里 学习一下. https://www.cnblogs.com/pzk7788/p/10180197.html 其 ...

  9. 通过daemon.json配置docker 2375 API端口,配置私有http仓库

    编辑daemon.json vi /etc/docker/daemon.json 配置如下内容即可 { "hosts":[ "tcp://0.0.0.0:2375&quo ...

随机推荐

  1. 【大数据技术】HBase介绍

    1.HBase简介1.1 Hbase是什么HBase是一种构建在HDFS之上的分布式.面向列.多版本.非关系型的数据库,是Google Bigtable 的开源实现. 在需要实时读写.随机访问超大规模 ...

  2. Teradata超长数据会截断

    1.数据库版本 Teradata 15.10 2.测试案例: create multiset table test_stg ( col1 ) CHARACTER SET LATIN not null ...

  3. (转)Spring Boot(二):Web 综合开发

    http://www.ityouknow.com/springboot/2016/02/03/spring-boot-web.html 上篇文章介绍了 Spring Boot 初级教程:Spring ...

  4. Centos 6.7 安装mongodb

    下载mongodb  https://www.mongodb.com/download-center#community 2.解压文件 tar -zxvf mongodb-linux-x86_64-3 ...

  5. Oracle的条件in中包含NULL时的处理

    我们在写SQL时经常会用到in条件,如果in包含的值都是非NULL值,那么没有特殊的,但是如果in中的值包含null值(比如in后面跟一个子查询,子查询返回的结果有NULL值),Oracle又会怎么处 ...

  6. 【css】max-height,min-height,height一起使用时,优先级问题

    MDN说法: max-height 这个属性会阻止 height 属性的设置值变得比 max-height 更大. max-height 属性用来设置给定元素的最大高度. 如果height 属性设置的 ...

  7. spring 、spring boot 常用注解

    @Profile 1.用户配置文件注解. 2.使用范围: @Configration 和 @Component 注解的类及其方法, 其中包括继承了 @Component 的注解: @Service. ...

  8. RMAN_RAC归档日志备份包恢复到单机

    恢复归档日志的方法: RAC是ASM的存储且是OMF创建的格式,所以RAC的日志名为如下+ARCH/mioa/archive/1_73554_875548170.dbf.+ARCH/mioa/arch ...

  9. UINavigationController - BNR

    继续上篇UITableView的编辑操作. 当你初始化一个UINavigationController对象时,它将拥有一个根视图控制器,即UIViewController.根视图控制器一直存在于sta ...

  10. hibernate(*.hbm.xml)中新添加的字段被标记为红色(找不到)的解决方法

    首先得是以这个方式生成的bean和xml,配置好了数据源(这样才能让hibernate中的配置和mysql进行交互) https://www.cnblogs.com/kinome/p/10549969 ...