Docker 的配置文件說(shuō)明

摘要:由于 Linux 不同發(fā)行版所采用的默認(rèn)管理框架的不同,Docker 在不同環(huán)境下所使用的默認(rèn)配置文件也有所不同琐凭。這給初學(xué)者帶來(lái)了極大的困惑和不便芽隆。好消息是,Docker 官方也意識(shí)到了這個(gè)問(wèn)題统屈,所以從 V1.12 開(kāi)始胚吁,引入了并行通用配置文件 ```/etc/docker/daemon.json``` 。從此以后愁憔,用戶(hù)可以在所有平臺(tái)統(tǒng)一通過(guò)調(diào)整該配置文件來(lái)調(diào)整 Docker Engine腕扶。本文對(duì)

由于 Linux 不同發(fā)行版所采用的默認(rèn)管理框架的不同,Docker 在不同環(huán)境下所使用的默認(rèn)配置文件也有所不同吨掌。這給初學(xué)者帶來(lái)了極大的困惑和不便半抱。好消息是,Docker 官方也意識(shí)到了這個(gè)問(wèn)題思犁,所以從 V1.12 開(kāi)始代虾,引入了并行通用配置文件/etc/docker/daemon.json。從此以后激蹲,用戶(hù)可以在所有平臺(tái)統(tǒng)一通過(guò)調(diào)整該配置文件來(lái)調(diào)整 Docker Engine棉磨。本文對(duì)此進(jìn)行簡(jiǎn)要說(shuō)明。

配置文件

通用配置文件 /etc/docker/daemon.json

Docker Engine V1.12 之后版本学辱,用戶(hù)可以自行創(chuàng)建 daemon.json 文件對(duì) Docker Engine 進(jìn)行配置和調(diào)整乘瓤。要點(diǎn)如下:

該文件作為 Docker Engine 的配置管理文件, 里面幾乎涵蓋了所有 docker 命令行啟動(dòng)可以配置的參數(shù)。

不管是在哪個(gè)平臺(tái)以何種方式啟動(dòng), Docker 默認(rèn)都會(huì)來(lái)這里讀取配置策泣。使用戶(hù)可以統(tǒng)一管理不同系統(tǒng)下的 docker daemon 配置衙傀。

相關(guān)參數(shù)的使用說(shuō)明,可以參閱man dockerd幫助信息萨咕,或者參閱官方文檔统抬。

默認(rèn)配置文件目錄及支持的參數(shù)說(shuō)明:

Linux:/etc/docker/daemon.json, 支持的完成參數(shù)配置示例如下(最新的支持參數(shù)列表可以參閱官方文檔):{ "authorization-plugins": [], "data-root": "", "dns": [], "dns-opts": [], "dns-search": [], "exec-opts": [], "exec-root": "", "experimental": false, "storage-driver": "", "storage-opts": [], "labels": [], "live-restore": true, "log-driver": "", "log-opts": {}, "mtu": 0, "pidfile": "", "cluster-store": "", "cluster-store-opts": {}, "cluster-advertise": "", "max-concurrent-downloads": 3, "max-concurrent-uploads": 5, "default-shm-size": "64M", "shutdown-timeout": 15, "debug": true, "hosts": [], "log-level": "", "tls": true, "tlsverify": true, "tlscacert": "", "tlscert": "", "tlskey": "", "swarm-default-advertise-addr": "", "api-cors-header": "", "selinux-enabled": false, "userns-remap": "", "group": "", "cgroup-parent": "", "default-ulimits": {}, "init": false, "init-path": "/usr/libexec/docker-init", "ipv6": false, "iptables": false, "ip-forward": false, "ip-masq": false, "userland-proxy": false, "userland-proxy-path": "/usr/libexec/docker-proxy", "ip": "0.0.0.0", "bridge": "", "bip": "", "fixed-cidr": "", "fixed-cidr-v6": "", "default-gateway": "", "default-gateway-v6": "", "icc": false, "raw-logs": false, "allow-nondistributable-artifacts": [], "registry-mirrors": [], "seccomp-profile": "", "insecure-registries": [], "disable-legacy-registry": false, "no-new-privileges": false, "default-runtime": "runc", "oom-score-adjust": -500, "runtimes": { "runc": { "path": "runc" }, "custom": { "path": "/usr/local/bin/my-runc-replacement", "runtimeArgs": [ "--debug" ] } } }

Windows:%programdata%\docker\config\daemon.json,支持的完成參數(shù)配置示例如下(最新的支持參數(shù)列表可以參閱官方文檔):{ "authorization-plugins": [], "data-root": "", "dns": [], "dns-opts": [], "dns-search": [], "exec-opts": [], "experimental": false, "storage-driver": "", "storage-opts": [], "labels": [], "log-driver": "", "mtu": 0, "pidfile": "", "cluster-store": "", "cluster-advertise": "", "max-concurrent-downloads": 3, "max-concurrent-uploads": 5, "shutdown-timeout": 15, "debug": true, "hosts": [], "log-level": "", "tlsverify": true, "tlscacert": "", "tlscert": "", "tlskey": "", "swarm-default-advertise-addr": "", "group": "", "default-ulimits": {}, "bridge": "", "fixed-cidr": "", "raw-logs": false, "allow-nondistributable-artifacts": [], "registry-mirrors": [], "insecure-registries": [], "disable-legacy-registry": false }

不同框架的配置文件

不同 Linux 發(fā)行版本默認(rèn)使用的管理框架可能存在不同。而不同管理框架下配置文件的架構(gòu)差異聪建,最終導(dǎo)致了不同環(huán)境下默認(rèn) Docker 配置文件目錄和文件名的不同钙畔。Linux 常見(jiàn)管理框架下的默認(rèn)配置文件說(shuō)明如下:

| 管理框架類(lèi)型 | 默認(rèn)使用該框架的操作系統(tǒng) | Docker 默認(rèn)配置文件 | 相關(guān)操作指令 |

| - | - | - | - |

|Sysvinit| CentOS 6.x, Ubuntu 12.04 等| /etc/default/docker | CentOS: service docker restart

Ubuntu: /etc/init.d/docker restart |

|Upstart| Ubuntu 14.x,15.x 等| /etc/default/docker| restart docker |

|Systemd| CentOS 7+,Ubunt 16+金麸,Debian擎析,RHEl 7, Fedora, Archlinux 等| Ubuntu/CentOS/: /lib/systemd/system/docker.service

RHEL/CentOS: /usr/lib/systemd/system/docker.service | systemctl restart docker.service |

配置文件修改說(shuō)明

參閱前述說(shuō)明,對(duì)配置文件調(diào)整后挥下,注意如下要點(diǎn):

修改配置后揍魂,需要重啟 docker 服務(wù)生效。當(dāng)前主流的 Sytemd 框架相關(guān)平臺(tái)(CentOS 7+棚瘟,Ubunt 16+ 等)的重啟指令如下:systemctl daemon-reolad systemctl restart docker.service

配置沖突

如果通用配置文件 /etc/docker/daemon.json 和上述默認(rèn)配置文件中有配置沖突(相同配置項(xiàng)分別配置了不同值)现斋,那么 Docker daemon 啟動(dòng)時(shí)會(huì)報(bào)錯(cuò)。比如解取,如果在 Ubuntu 16.04 系統(tǒng)中步责,同時(shí)在 /etc/docker/daemon.json 和 /lib/systemd/system/docker.service 中指定了--dns=屬性,那么 Docker daemon 會(huì)啟動(dòng)失敗禀苦,相關(guān)錯(cuò)誤信息示例如下:

[root@node3 ~]# systemctl start docker.serviceJobfordocker.service failed because the controlprocessexitedwitherrorcode. See"systemctl status docker.service"and"journalctl -xe"fordetails.[root@node3 ~]# systemctl status docker.service● docker.service - Docker Application Container Engine? Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)? Active: failed (Result:exit-code) since Wed2017-11-1515:57:16CST;2min29s ago? ? Docs: https://docs.docker.comProcess:30610ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0-H fd://--dns=223.5.5.5 --dns=223.6.6.6 (code=exited,Main PID:30610(code=exited, status=1/FAILURE)Nov1515:57:16c400e32b9e7cd46aea0d484ad260f4e4a-node3 systemd[1]: Starting Docker Application Container Engine...Nov1515:57:16c400e32b9e7cd46aea0d484ad260f4e4a-node3 dockerd[30610]: unabletoconfigure the Docker daemonwithfile/etc/docker/daemon.json: the following directives are specified both as a flagandintheconfigurationfile: dns: (from flag: [223.5.5.5223.6.6.6], fromfile: [114.114.114.1148.8.8.8])Nov1515:57:16c400e32b9e7cd46aea0d484ad260f4e4a-node3 systemd[1]: docker.service: Mainprocessexited, code=exiteNov1515:57:16c400e32b9e7cd46aea0d484ad260f4e4a-node3 systemd[1]: Failedtostart Docker Application Container EnNov1515:57:16c400e32b9e7cd46aea0d484ad260f4e4a-node3 systemd[1]: docker.service: Unit entered failed state.Nov1515:57:16c400e32b9e7cd46aea0d484ad260f4e4a-node3 systemd[1]: docker.service: Failedwithresult'exit-code'.lines1-13/13(END)

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)蔓肯,本社區(qū)不擁有所有權(quán),也不承擔(dān)相關(guān)法律責(zé)任振乏。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容蔗包,歡迎發(fā)送郵件至:yqgroup@service.aliyun.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù)慧邮,一經(jīng)查實(shí)调限,本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。

原文鏈接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末误澳,一起剝皮案震驚了整個(gè)濱河市耻矮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌忆谓,老刑警劉巖裆装,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異倡缠,居然都是意外死亡哨免,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門(mén)昙沦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)琢唾,“玉大人,你說(shuō)我怎么就攤上這事盾饮〔商遥” “怎么了懒熙?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)芍碧。 經(jīng)常有香客問(wèn)我煌珊,道長(zhǎng),這世上最難降的妖魔是什么泌豆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮吏饿,結(jié)果婚禮上踪危,老公的妹妹穿的比我還像新娘。我一直安慰自己猪落,他們只是感情好贞远,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著笨忌,像睡著了一般蓝仲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上官疲,一...
    開(kāi)封第一講書(shū)人閱讀 49,730評(píng)論 1 289
  • 那天袱结,我揣著相機(jī)與錄音,去河邊找鬼途凫。 笑死垢夹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的维费。 我是一名探鬼主播果元,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼犀盟!你這毒婦竟也來(lái)了而晒?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤阅畴,失蹤者是張志新(化名)和其女友劉穎倡怎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體恶阴,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诈胜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冯事。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焦匈。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖昵仅,靈堂內(nèi)的尸體忽然破棺而出缓熟,到底是詐尸還是另有隱情累魔,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布够滑,位于F島的核電站垦写,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏彰触。R本人自食惡果不足惜梯投,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望况毅。 院中可真熱鬧分蓖,春花似錦、人聲如沸尔许。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)味廊。三九已至蒸甜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間余佛,已是汗流浹背柠新。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衙熔,地道東北人登颓。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓红氯,卻偏偏與公主長(zhǎng)得像框咙,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子痢甘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • muahao閱讀 2,069評(píng)論 0 3
  • 第一本Docker書(shū) 自動(dòng)精簡(jiǎn)配置: thin-provisioning加載device-mapper模塊sudo...
    崩芭大醬閱讀 2,174評(píng)論 0 16
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理压恒,服務(wù)發(fā)現(xiàn)影暴,斷路器,智...
    卡卡羅2017閱讀 134,626評(píng)論 18 139
  • Docker從2013年發(fā)布第一個(gè)版本以來(lái),已經(jīng)火遍全球,技術(shù)迭代也比較頻繁潭千,其周邊產(chǎn)品和技術(shù)也越來(lái)越豐富。Doc...
    歸海聽(tīng)雪閱讀 12,267評(píng)論 7 44
  • 裊裊的炊煙借尿,那是家的味道刨晴。 坐在家門(mén)口曬太陽(yáng),門(mén)口的池塘魚(yú)兒已經(jīng)撈起來(lái)了路翻,只剩半池水狈癞,隔壁的嬸嬸在里面起了火燒一些...
    芽藤兒閱讀 410評(píng)論 0 0