docker深入2-linux下的配置文件daemon.json使用示例

2016/12/9

一、现状
1、默认没有这个配置文件,手动创建一个即可。
2、我们目前使用过的操作
在“docker深入2-存储驱动之使用devicemapper(direct-lvm)模式”这一节中,我们是这样操作的:
---------------------------------------
调整 daemon.json 的配置:
[[email protected] ~]# cat /etc/docker/daemon.json
{
    "storage-driver": "devicemapper",
    "storage-opts": [
        "dm.thinpooldev=/dev/mapper/docker-thinpool",
        "dm.use_deferred_removal=true",
        "dm.use_deferred_deletion=true"
    ]
}
---------------------------------------

定义了 storage-driver 的值。
然后重启服务:
[[email protected] ~]# systemctl restart docker && systemctl status docker -l

这样做的好处:调整配置时,不用去修改 docker.service的参数,通过配置文件来管理,更为清晰合理。

二、探索
1、linux上一个完整的配置示例
{
    "api-cors-header": "",
    "authorization-plugins": [],
    "bip": "",
    "bridge": "",
    "cgroup-parent": "",
    "cluster-store": "",
    "cluster-store-opts": {},
    "cluster-advertise": "",
    "debug": true,
    "default-gateway": "",
    "default-gateway-v6": "",
    "default-runtime": "runc",
    "default-ulimits": {},
    "disable-legacy-registry": false,
    "dns": [],
    "dns-opts": [],
    "dns-search": [],
    "exec-opts": [],
    "exec-root": "",
    "fixed-cidr": "",
    "fixed-cidr-v6": "",
    "graph": "",
    "group": "",
    "hosts": [],
    "icc": false,
    "insecure-registries": [],
    "ip": "0.0.0.0",
    "iptables": false,
    "ipv6": false,
    "ip-forward": false,
    "ip-masq": false,
    "labels": [],
    "live-restore": true,
    "log-driver": "",
    "log-level": "",
    "log-opts": {},
    "max-concurrent-downloads": 3,
    "max-concurrent-uploads": 5,
    "mtu": 0,
    "oom-score-adjust": -500,
    "pidfile": "",
    "raw-logs": false,
    "registry-mirrors": [],
    "runtimes": {
        "runc": {
            "path": "runc"
        },
        "custom": {
            "path": "/usr/local/bin/my-runc-replacement",
            "runtimeArgs": [
                "--debug"
            ]
        }
    },
    "selinux-enabled": false,
    "storage-driver": "",
    "storage-opts": [],
    "swarm-default-advertise-addr": "",
    "tls": true,
    "tlscacert": "",
    "tlscert": "",
    "tlskey": "",
    "tlsverify": true,
    "userland-proxy": false,
    "userns-remap": ""
}

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

2、如何配置 registry 相关的参数
涉及以下2个参数:
    "insecure-registries": [],
    "registry-mirrors": [],

配置示例:
[[email protected] ~]# cat /etc/docker/daemon.json
{
    "storage-driver": "devicemapper",
    "storage-opts": [
        "dm.thinpooldev=/dev/mapper/docker-thinpool",
        "dm.use_deferred_removal=true",
        "dm.use_deferred_deletion=true"
    ],
    "registry-mirrors": [
        "http://m.hub.test.com"
    ], 
    "insecure-registries": [
        "hub.test.com"
    ]
}
    
    

ZYXW、参考
1、docs
https://docs.docker.com/engine/reference/commandline/dockerd/#/linux-configuration-file
时间: 2024-08-27 20:46:35

docker深入2-linux下的配置文件daemon.json使用示例的相关文章

Docker折腾手记-linux下安装

Docker折腾手记-linux下安装 Linux下的安装方法 博主用的是centos7,其它也是大同小异 我根据的是官网的教程进行的操作,地址是 https://docs.docker.com/engine/installation/linux/centos/#install-using-the-repository 刚开始他们balabala了一大堆,要注意的就是在x64的centos才可以安装docker 官方提供了两种方式一种是使用存儲库进行安装 ,一种是从包中进行安装 ,两种方式都可以

linux下emacs配置文件

1:安装.在ubuntu下使用命令 sudo apt-get install emacs,即可,我使用的是ubuntu的10.04的版本,在里面使用了据说是163的2个源. 1.1:如何更新快速的源,在终端下输入:sudo gedit /etc/apt/sources.list 在里面添加这2个地址,我测试过速度相当的快. deb http://ubuntu.cn99.com/ubuntu/ karmic main restricted universe multiverse          

linux下bash配置文件詳解

linux下bash配置文件 1.bash的配置文件: 全局配置:/etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置:~/.bash_profile, ~/.bashrc profile类的文件: 设定环境变量 运行命令或脚本 bashrc类的文件: 设定本地变量 定义命令别名 2. 登录式shell读取配置文件順序如下: /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --&

Linux下使用GDB调试应用程序示例

GDB概述 ---- GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓"寸有所长,尺有所短"就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式)

Linux下vim配置文件

前言 需要注意的是 在使用之前 需要将 文件头部 global variables 部分 的变量名 根据自己的实际情况来设置一下 否则 闹出版权纠纷就大麻烦了 实际配置文件内容如下: " FACIL: abodu notice once " DESP: vim settings " AUTHOR: Liu Dongguo " ChgOn: 2015-04-14 07:00:42 " WebSite: http://www.github.com/jealde

linux下mysql配置文件my.cnf详解

basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录. datadir = path 从给定目录读取数据库文件. pid-file = filename 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程. socket = filename 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

linux下c程序 daemon、fork与创建pthread的顺序问题

近期发如今写linux c服务程序的时候,daemon与线程创建之间出现故障. 发现程序在daemon之后,起的线程就全挂了. 查过一些文档之后,最终知道了why. daemon函数的操作事实上非常easy, 1.fork一个进程,2.处理3个标准输入输出流 做完之后,主进程就退出了,实际执行的是子进程. 子进程会被挂在init进程上,也就是pid为1的进程. 问题就发生在这个daemon的时间点. 假设在pthread初始化了线程之后,再进行daemon,子进程不会拥有之前的线程,相反之前的线

Linux 下vsftp配置文件

个人经常用的ftp配置文件,仅保存下. #关闭匿名用户 anonymous_enable=NO #允许本地用户有写入权限(0755) local_enable=YES write_enable=YES local_umask=022 xferlog_enable=YES dirmessage_enable=YES #关闭DNS反向解析 reverse_lookup_enable=no #有nat不能使用,需要注释掉,重点关注 connect_from_port_20=YES #开启log xfe