1. 程式人生 > 其它 >Docker配置檔案daemon.json

Docker配置檔案daemon.json

docker安裝後預設沒有daemon.json這個配置檔案,需要進行手動建立,docker不管是在哪個平臺以何種方式啟動, 預設都會來這裡讀取配置,使使用者可以統一管理不同系統下的 docker daemon 配置。

如果在daemon.json檔案中進行配置,需要docker版本高於1.12,配置檔案的預設徑為:/etc/docker/daemon.json

該檔案作為 Docker Engine 的配置管理檔案, 裡面幾乎涵蓋了所有 docker 命令列啟動可以配置的引數。

具體的操作是:

1: 設定/etc/docker/daemon.json 檔案.

2.建立並修改完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-daemon.json各配置詳解

docker- daemon.json各配置詳解
{
"allow-nondistributable-artifacts": [], #不對外分發的產品提交的registry倉庫
“api -cors-header”: "" , #在引擎API中設定CORS標頭
“authorization - plugins”:[], #要載入的授權外掛
“bridge”: "" , #將容器附加到網橋
“cgroup -parent”: "" , #為所有容器設定父cgroup
“cluster -store”: "" , #分散式儲存後端的URL
“cluster -store- opts”:{}, #設定叢集儲存選項(預設map [])
“cluster -advertise”: "" , #要通告的地址或介面名稱
“data -root”: " /var/lib/docker " , #Docker執行時使用的根路徑,預設/var/lib/ docker
“debug”: true , #啟用除錯模式,啟用後,可以看到很多的啟動資訊。預設false
“default -gateway”: "" , #容器預設閘道器IPv4地址
“default -gateway-v6”: "" , #容器預設閘道器IPv6地址
“default - runtime”:“runc”, #容器的預設OCI執行時(預設為“ runc”)
“default - ulimits”:{}, #容器的預設ulimit(預設[])
“dns”: [], #設定容器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”: "" , #執行狀態檔案的根目錄(預設為’/var/run/ docker‘)
“fixed -cidr”: "" , #固定IP的IPv4子網
“fixed -cidr-v6”: "" , #固定IP的IPv6子網
“group”: “”, #UNIX套接字的組(預設為“docker”)
"graph":"/var/lib/docker", #已廢棄,使用data-root代替,檢視docker版本
“hosts”: [], #設定容器hosts
“icc”: false , #啟用容器間通訊(預設為true)
“insecure-registries”: [“ 120.123 . 122.123 : 12312 ”], #設定私有倉庫地址可以設為http
“ip”:“ 0.0 . 0.0 ”, #繫結容器埠時的預設IP(預設0. 0.0 . 0 )
“iptables”: false , #啟用iptables規則新增(預設為true)
“ipv6”: false , #啟用IPv6網路
“ip -forward”: false , #預設true, 啟用 net.ipv4.ip_forward ,進入容器後使用 sysctl -a | grepnet.ipv4.ip_forward 檢視
“ip -masq”: false , #啟用IP偽裝(預設為true)
“labels”:[“nodeName =node- 121 ”], #docker主機的標籤,很實用的功能,例如定義:–label nodeName=host- 121
“live -restore”: true , #在容器仍在執行時啟用docker的實時還原
“log -driver”: "" , #容器日誌的預設驅動程式(預設為“ json- file ”)
“log -level”: "" , #設定日誌記錄級別(“除錯”,“資訊”,“警告”,“錯誤”,“致命”)(預設為“資訊”)
“max -concurrent-downloads”: 3 , #設定每個請求的最大併發下載量(預設為3)
“max -concurrent-uploads”: 5 , #設定每次推送的最大同時上傳數(預設為5)
“mtu”: 0 , #設定容器網路MTU
“oom -score-adjust”:- 500 , #設定守護程式的oom_score_adj(預設值為- 500 )
“pidfile”: “”, #Docker守護程序的PID檔案
“raw -logs”: false , #原始日誌、全時間戳機制
“registry -mirrors”: [“https: // 192.168.2.23:89”], #設定映象加速地址
“selinux -enabled”: false , #預設 false ,啟用selinux支援
“storage -driver”: "" , #要使用的儲存驅動程式
“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 , #使用userland代理進行環迴流量(預設為true)
“userns -remap”: "" , #使用者名稱稱空間的使用者/ 組設定
“bip”:“ 192.168 . 88.0 / 22 ”, #指定網橋IP
“storage - opts”: {
“overlay2.override_kernel_check = true ”,
“overlay2.size = 15G”
}, #儲存驅動程式選項
"labels":["nodeName=node-121"], #docker主機的標籤
"live-restore": true,
"log-driver":"",
"log-level":"",
"log-opts": {},
"max-concurrent-downloads":3,
"max-concurrent-uploads":5,
"mtu": 0,
"oom-score-adjust":-500,

“log - opts”: {
“max - file ”: “ 3 ”,
“max - size”: “10m”,
}, #容器預設日誌驅動程式選項
“iptables”: false #啟用iptables規則新增(預設為true)
}