• 第二十一章 Centos7下Docker自定义配置


    There are a number of ways to configure the daemon flags and environment variables for your Docker daemon. The recommended way is to use the platform-independent daemon.json file, which is located in /etc/docker/ on Linux by default.
    
    推荐使用 /etc/docker/daemon.json 自定义配置。
    

    一、具体操作

    #1.关闭 docker
    [root@m1 ~]# systemctl stop docker
    [root@m1 ~]# systemctl status docker
    
    #2.移动文件
    [root@m1 ~]# mv /var/lib/docker /data
    
    #3.新增文件 /etc/docker/daemon.json,默认不存在
    [root@m1 ~]# vim /etc/docker/daemon.json 
    {
        "registry-mirrors": ["https://8mh75mhz.mirror.aliyuncs.com"],
        "data-root": "/data/docker",
        "live-restore": true
      }
    
    #4.重启 docker,start 无效
    [root@m1 ~]# systemctl restart docker
    
    #5.查看镜像是否仍存在
    [root@m1 ~]# docker images
    

    二、软链接修改数据目录

    Docker supports softlinks for the Docker data directory (`/var/lib/docker`) and for `/var/lib/docker/tmp`.
    
    Docker 的数据目录支持软链接。
    
    #1.查看 docker 数据目录大小
    [root@m1 ~]# du -sh /var/lib/docker
    8.9G /var/lib/docker
    
    #2.关闭 docker
    [root@m1 ~]# systemctl stop docker
    [root@m1 ~]# systemctl status docker
    
    #3.移动文件
    [root@m1 ~]# mv /var/lib/docker /data
    
    #4.创建软链接
    [root@m1 ~]# ln -s /data/docker /var/lib/
    
    #5.启动 docker
    [root@m1 ~]# systemctl start docker
    
    #6.查看镜像是否仍存在
    [root@m1 ~]# docker images
    
    #7.查看 docker 数据目录大小
    [root@m1 ~]# du -sh /var/lib/docker/
    12G /var/lib/docker/
    [root@m1 ~]# du -sh /data/docker/
    12G /data/docker/
    

    三、自定义配置示例参考

    {
        "authorization-plugins": [],//访问授权插件
        "data-root": "",//docker数据持久化存储的根目录
        "dns": [],//DNS服务器
        "dns-opts": [],//DNS配置选项,如端口等
        "dns-search": [],//DNS搜索域名
        "exec-opts": [],//执行选项
        "exec-root": "",//执行状态的文件的根目录
        "experimental": false,//是否开启试验性特性
        "storage-driver": "",//存储驱动器
        "storage-opts": [],//存储选项
        "labels": [],//键值对式标记docker元数据
        "live-restore": true,//dockerd挂掉是否保活容器(避免了docker服务异常而造成容器退出)
        "log-driver": "",//容器日志的驱动器
        "log-opts": {"max-size":"2G","max-file":"3"},//容器日志的选项
        "mtu": 0,//设置容器网络MTU(最大传输单元)
        "pidfile": "",//daemon PID文件的位置
        "cluster-store": "",//集群存储系统的URL
        "cluster-store-opts": {},//配置集群存储
        "cluster-advertise": "",//对外的地址名称
        "max-concurrent-downloads": 3,//设置每个pull进程的最大并发
        "max-concurrent-uploads": 5,//设置每个push进程的最大并发
        "default-shm-size": "64M",//设置默认共享内存的大小
        "shutdown-timeout": 15,//设置关闭的超时时限
        "debug": true,//开启调试模式
        "hosts": [],//监听地址
        "log-level": "",//日志级别
        "tls": true,//开启传输层安全协议TLS
        "tlsverify": true,//开启输层安全协议并验证远程地址
        "tlscacert": "",//CA签名文件路径
        "tlscert": "",//TLS证书文件路径
        "tlskey": "",//TLS密钥文件路径
        "swarm-default-advertise-addr": "",//swarm对外地址
        "api-cors-header": "",//设置CORS(跨域资源共享-Cross-origin resource sharing)头
        "selinux-enabled": false,//开启selinux(用户、进程、应用、文件的强制访问控制)
        "userns-remap": "",//给用户命名空间设置 用户/组
        "group": "",//docker所在组
        "cgroup-parent": "",//设置所有容器的cgroup的父类
        "default-ulimits": {},//设置所有容器的ulimit
        "init": false,//容器执行初始化,来转发信号或控制(reap)进程
        "init-path": "/usr/libexec/docker-init",//docker-init文件的路径
        "ipv6": false,//开启IPV6网络
        "iptables": false,//开启防火墙规则
        "ip-forward": false,//开启net.ipv4.ip_forward
        "ip-masq": false,//开启ip掩蔽(IP封包通过路由器或防火墙时重写源IP地址或目的IP地址的技术)
        "userland-proxy": false,//用户空间代理
        "userland-proxy-path": "/usr/libexec/docker-proxy",//用户空间代理路径
        "ip": "0.0.0.0",//默认IP
        "bridge": "",//将容器依附(attach)到桥接网络上的桥标识
        "bip": "",//指定桥接ip
        "fixed-cidr": "",//(ipv4)子网划分,即限制ip地址分配范围,用以控制容器所属网段实现容器间(同一主机或不同主机间)的网络访问
        "fixed-cidr-v6": "",//(ipv6)子网划分
        "default-gateway": "",//默认网关
        "default-gateway-v6": "",//默认ipv6网关
        "icc": false,//容器间通信
        "raw-logs": false,//原始日志(无颜色、全时间戳)
        "allow-nondistributable-artifacts": [],//不对外分发的产品提交的registry仓库
        "registry-mirrors": [],//registry仓库镜像
        "seccomp-profile": "",//seccomp配置文件
        "insecure-registries": [],//非https的registry地址
        "no-new-privileges": false,//禁止新优先级
        "default-runtime": "runc",//OCI联盟(The Open Container Initiative)默认运行时环境
        "oom-score-adjust": -500,//内存溢出被杀死的优先级(-1000~1000)
        "node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"],//对外公布的资源节点
        "runtimes": {//运行时
            "cc-runtime": {
                "path": "/usr/bin/cc-runtime"
            },
            "custom": {
                "path": "/usr/local/bin/my-runc-replacement",
                "runtimeArgs": [
                    "--debug"
                ]
            }
        }
    }
    
  • 相关阅读:
    小白安装使用Redis
    Mysql的Sql语句优化
    maximo入门----用户使用提要
    时不时刷刷BOSS 看看技术需求
    2019.7.10整理
    docker使用入门
    docker之windows安装&centOS安装
    HashTable学习
    Hashmap学习
    红黑树学习
  • 原文地址:https://www.cnblogs.com/jhno1/p/15767499.html
Copyright © 2020-2023  润新知