摘要:原文地址一些生產(chǎn)環(huán)境中要注意的參數(shù)配置。本文介紹一些生產(chǎn)環(huán)境中要特別注意的參數(shù),這些參數(shù)可以通過在命令行參數(shù)形式給,也可以通過在里配置。然后執(zhí)行來驗(yàn)證配置是否生效。它們的原理就是修改參數(shù)。
原文地址
一些docker daemon生產(chǎn)環(huán)境中要注意的參數(shù)配置。
本文介紹一些生產(chǎn)環(huán)境中dockerd要特別注意的參數(shù),這些參數(shù)可以通過在dockerd命令行參數(shù)形式給,也可以通過在/etc/docker/daemon.json里配置。本文介紹的就是daemon.json配置方式。
在開始之前,請先查看/etc/docker/daemon.json是否存在,如果不存在則新建一個(gè),內(nèi)容是{}。然后你要懂JSON文件格式。
如何應(yīng)用配置下面所講的配置最好在Docker安裝完之后馬上做,如果已經(jīng)有容器運(yùn)行了,那么先stop掉所有容器,然后再做。
修改完之后重啟Docker daemon,比如在Ubuntu 16.04下:sudo systemctl restart docker.service。
然后執(zhí)行docker info來驗(yàn)證配置是否生效。
registry-mirrors{ "registry-mirrors": [] }
此參數(shù)配置的是Docker registry的鏡像網(wǎng)站,國內(nèi)訪問docker hub有時(shí)候會抽風(fēng),所以配置一個(gè)國內(nèi)的鏡像網(wǎng)站能夠加速Docker image的下載。
可以使用Daocloud加速器(需注冊,使用免費(fèi))或者其他云廠商提供的免費(fèi)的加速服務(wù)。它們的原理就是修改registry-mirrors參數(shù)。
dns{ "dns": [] }
Docker內(nèi)置了一個(gè)DNS Server,它用來做兩件事情:
解析docker network里的容器或Service的IP地址
把解析不了的交給外部DNS Server解析(dns參數(shù)設(shè)定的地址)
默認(rèn)情況下,dns參數(shù)值為Google DNS nameserver:8.8.8.8和8.8.4.4。我們得改成國內(nèi)的DNS地址,比如:
1.2.4.8
阿里DNS:223.5.5.5和223.6.6.6
114DNS:114.114.114.114和114.114.115.115
比如:
{ "dns": ["223.5.5.5", "223.6.6.6"] }log-driver
Log driver是Docker用來接收來自容器內(nèi)部stdout/stderr的日志的模塊,Docker默認(rèn)的log driver是JSON File logging driver。這里只講json-file的配置,其他的請查閱相關(guān)文檔。
json-file會將容器日志存儲在docker host machine的/var/lib/docker/containers/
max-size,單個(gè)日志文件最大尺寸,當(dāng)日志文件超過此尺寸時(shí)會滾動,即不再往這個(gè)文件里寫,而是寫到一個(gè)新的文件里。默認(rèn)值是-1,代表無限。
max-files,最多保留多少個(gè)日志文件。默認(rèn)值是1。
根據(jù)服務(wù)器的硬盤尺寸設(shè)定合理大小,比如:
{ "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-files":"5" } }storage-driver
Docker推薦使用overlay2作為Storage driver。你可以通過docker info | grep Storage來確認(rèn)一下當(dāng)前使用的是什么:
$ docker info | grep "Storage" Storage Driver: overlay2
如果結(jié)果不是overlay2,那你就需要配置一下了:
{ "storage-driver": "overlay2" }mtu
如果docker host machine的網(wǎng)卡MTU為1500,則不需要此步驟
MTU是一個(gè)很容易被忽略的參數(shù),Docker默認(rèn)的MTU是1500,這也是大多數(shù)網(wǎng)卡的MTU值。但是!在虛擬化環(huán)境下,docker host machine網(wǎng)卡的MTU可能不是1500,比如在openstack創(chuàng)建的虛擬的網(wǎng)卡的MTU是1450:
$ ip link 1: ens3:mtu 1450 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether fa:16:3e:71:09:f5 brd ff:ff:ff:ff:ff:ff
當(dāng)Docker網(wǎng)絡(luò)的MTU比docker host machine網(wǎng)卡MTU大的時(shí)候可能會發(fā)生:
容器外出通信失敗
影響網(wǎng)絡(luò)性能
所以將Docker網(wǎng)絡(luò)MTU設(shè)置成和host machine網(wǎng)卡保持一致就行了,比如:
{ "mtu": 1450 }
驗(yàn)證:
$ ip link 3: docker0:mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default link/ether 02:42:6b:de:95:71 brd ff:ff:ff:ff:ff:ff
注意到docker0的MTU還是1500,不用驚慌,創(chuàng)建一個(gè)容器再觀察就變成1450了(下面的veth是容器的虛擬網(wǎng)卡設(shè)備):
$ docker run -itd --name busybox --rm busybox $ ip link 3: docker0:mtu 1450 qdisc noqueue state UP mode DEFAULT group default link/ether 02:42:6b:de:95:71 brd ff:ff:ff:ff:ff:ff 268: vethdf32b1b@if267: mtu 1450 qdisc noqueue master docker0 state UP mode DEFAULT group default link/ether 1a:d3:8a:3e:d3:dd brd ff:ff:ff:ff:ff:ff link-netnsid 2
在到容器里看看它的網(wǎng)卡,MTU也是1450:
$ docker exec busybox ip link 267: eth0@if268:mtu 1450 qdisc noqueue link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
關(guān)于Overlay network的MTU看這篇文章
參考資料Daemon CLI
Configure logging drivers
JSON File logging driver
Use the OverlayFS storage driver
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28043.html
摘要:無論這個(gè)連接是外部主動建立的,還是內(nèi)部建立的。協(xié)議有表示層數(shù)據(jù)的表示安全壓縮。在整個(gè)發(fā)展過程中的所有思想和著重點(diǎn)都以一種稱為的文檔格式存在。 部署基礎(chǔ)知識url:協(xié)議://網(wǎng)站地址:端口(/)路徑地址?參數(shù)eg: http://www.baidu.com:80/abc/dd/ www.baidu.com找服務(wù)器 80端口:找服務(wù)器上提供服務(wù)的應(yīng)用 nginx uri:/ab...
摘要:無論這個(gè)連接是外部主動建立的,還是內(nèi)部建立的。協(xié)議有表示層數(shù)據(jù)的表示安全壓縮。在整個(gè)發(fā)展過程中的所有思想和著重點(diǎn)都以一種稱為的文檔格式存在。 部署基礎(chǔ)知識url:協(xié)議://網(wǎng)站地址:端口(/)路徑地址?參數(shù)eg: http://www.baidu.com:80/abc/dd/ www.baidu.com找服務(wù)器 80端口:找服務(wù)器上提供服務(wù)的應(yīng)用 nginx uri:/ab...
摘要:說起,必須要介紹是什么東西,為什么中小企業(yè)私有云適合使用??匆幌卢F(xiàn)在的架構(gòu)圖開個(gè)玩笑。上面這四點(diǎn)導(dǎo)致我們必須要統(tǒng)一架構(gòu),最終把整個(gè)業(yè)務(wù)系統(tǒng)遷移到基于的類似于的私有云的平臺。 本文系 ArchSummit 大會 CODING 工程師王振威演講實(shí)錄。 showImg(https://dn-coding-net-production-pp.qbox.me/c2f81423-54b9-4a7b...
摘要:剛才聽了謝樂冰的演講我覺得很多東西和我們的思路非常像,從我回國到現(xiàn)在大概有一年多的時(shí)間。在看來,一個(gè)業(yè)務(wù)應(yīng)用應(yīng)該是分層的,每一層都是一個(gè)所謂的服務(wù),剛才謝樂冰講的所謂服務(wù)化和異步化,不會把這些東西從前到頭攪在一起,這樣非常難以擴(kuò)展。 本文是數(shù)人云深圳技術(shù)分享課上Coding CTO 孫宇聰?shù)难葜v實(shí)錄,小數(shù)帶你走近這位詼諧幽默的大牛,領(lǐng)略他深入的見解和豐富的實(shí)踐經(jīng)驗(yàn)。 非常感謝今天有這個(gè)...
閱讀 1034·2021-11-23 10:11
閱讀 3869·2021-11-16 11:50
閱讀 937·2021-10-14 09:43
閱讀 2722·2021-10-14 09:42
閱讀 2722·2021-09-22 16:02
閱讀 1068·2019-08-29 10:57
閱讀 3385·2019-08-29 10:57
閱讀 2276·2019-08-26 13:52