layout: post
title: docker所支持的配置文件项目
date: 2018-04-20
tags: [“Docker”,”自动化运维工具”]


docker守护进程dockerd配置文档 https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file

Linux上配置文件的默认位置是/etc/docker/daemon.json。 —config-file标志可用于指定非默认位置。

  1. {
  2. "authorization-plugins": [],
  3. "data-root": "",
  4. "dns": [],
  5. "dns-opts": [],
  6. "dns-search": [],
  7. "exec-opts": [],
  8. "exec-root": "",
  9. "experimental": false,
  10. "storage-driver": "", #存储驱动:aufs、devicemapper、overlay、overlay2
  11. "storage-opts": [], #存储选项
  12. "labels": [],
  13. "live-restore": true,
  14. "log-driver": "", #日志存储驱动
  15. "log-opts": {}, #存储驱动选项
  16. "mtu": 0, #Ethernet最大协议传输单元(1500),在使用隧道技术的时候需要修改(Vxlan),因其在传输的过程中会再次添加一层首部封装,可能会超过1500限制。
  17. "pidfile": "",
  18. "cluster-store": "",
  19. "cluster-store-opts": {},
  20. "cluster-advertise": "",
  21. "max-concurrent-downloads": 3,
  22. "max-concurrent-uploads": 5,
  23. "default-shm-size": "64M",
  24. "shutdown-timeout": 15,
  25. "debug": true,
  26. "hosts": [], #docker自己所监听的地址和端口,默认使用的socket文件,/run/docker/docker.sock,连接远程客户端需要配置该项的监听地址与端口
  27. "log-level": "",
  28. "tls": true, #配置使用HTTPS
  29. "tlsverify": true,
  30. "tlscacert": "",
  31. "tlscert": "",
  32. "tlskey": "",
  33. "swarm-default-advertise-addr": "",
  34. "api-cors-header": "",
  35. "selinux-enabled": false,
  36. "userns-remap": "",
  37. "group": "",
  38. "cgroup-parent": "",
  39. "default-ulimits": {},
  40. "init": false,
  41. "init-path": "/usr/libexec/docker-init",
  42. "ipv6": false,
  43. "iptables": false, #配置是否默认启用
  44. "ip-forward": false, #配置是否允许转发
  45. "ip-masq": false, #配置是否使用伪装
  46. "userland-proxy": false,
  47. "userland-proxy-path": "/usr/libexec/docker-proxy",
  48. "ip": "0.0.0.0", #ip
  49. "bridge": "", #指定网桥名称
  50. "bip": "", #指定网桥地址,默认172.17.0.1/16
  51. "fixed-cidr": "", #接入桥默认的地址是什么
  52. "fixed-cidr-v6": "", #ipv6的
  53. "default-gateway": "", #默认网关地址
  54. "default-gateway-v6": "",
  55. "icc": false,
  56. "raw-logs": false,
  57. "allow-nondistributable-artifacts": [],
  58. "registry-mirrors": [], #指定镜像地址(否则部分镜像需要翻墙)
  59. "seccomp-profile": "",
  60. "insecure-registries": [], #不安全的registries,通常我们用在私有仓库。
  61. "no-new-privileges": false,
  62. "default-runtime": "runc", #容器运行环境(容器引擎),最开始是lxc、libcontainer、现在是runc(被google逼得)
  63. "oom-score-adjust": -500, #允许oom被杀死的分数
  64. "node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"],
  65. "runtimes": {
  66. "cc-runtime": { #runc的参数
  67. "path": "/usr/bin/cc-runtime"
  68. },
  69. "custom": { #runc的自定义参数
  70. "path": "/usr/local/bin/my-runc-replacement",
  71. "runtimeArgs": [
  72. "--debug"
  73. ]
  74. }
  75. }
  76. }

网络配置示例:

自定义docker0桥的网络属性信息:/etc/docker/daemon.json文件

  1. {
  2. "bip": "192.168.1.5/24", #网桥的地址
  3. "fixed-cidr": "10.20.0.0/16", #绑定的网段
  4. "fixed-cidr-v6": "2001:db8::/64",
  5. "mtu": 1500,
  6. "default-gateway": "10.20.1.1", #默认网关地址
  7. "default-gateway-v6": "2001:db8:abcd::89",
  8. "dns": ["10.20.1.2","10.20.1.3"] #dns地址
  9. }

远程主机管理配置示例:

  1. /etc/docker/daemon.json:
  2. {
  3. "hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
  4. }

连接远程docker引擎,需要使用”-H”选项。

文档更新时间: 2020-03-27 13:42   作者:张尚