国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Docker Daemon生產環境關鍵的幾個參數

mengbo / 3296人閱讀

摘要:原文地址一些生產環境中要注意的參數配置。本文介紹一些生產環境中要特別注意的參數,這些參數可以通過在命令行參數形式給,也可以通過在里配置。然后執行來驗證配置是否生效。它們的原理就是修改參數。

原文地址

一些docker daemon生產環境中要注意的參數配置。

本文介紹一些生產環境中dockerd要特別注意的參數,這些參數可以通過在dockerd命令行參數形式給,也可以通過在/etc/docker/daemon.json里配置。本文介紹的就是daemon.json配置方式。

在開始之前,請先查看/etc/docker/daemon.json是否存在,如果不存在則新建一個,內容是{}。然后你要懂JSON文件格式。

如何應用配置

下面所講的配置最好在Docker安裝完之后馬上做,如果已經有容器運行了,那么先stop掉所有容器,然后再做。

修改完之后重啟Docker daemon,比如在Ubuntu 16.04下:sudo systemctl restart docker.service

然后執行docker info來驗證配置是否生效。

registry-mirrors
{
  "registry-mirrors": []
}

此參數配置的是Docker registry的鏡像網站,國內訪問docker hub有時候會抽風,所以配置一個國內的鏡像網站能夠加速Docker image的下載。

可以使用Daocloud加速器(需注冊,使用免費)或者其他云廠商提供的免費的加速服務。它們的原理就是修改registry-mirrors參數。

dns
{
  "dns": []
}

Docker內置了一個DNS Server,它用來做兩件事情:

解析docker network里的容器或Service的IP地址

把解析不了的交給外部DNS Server解析(dns參數設定的地址)

默認情況下,dns參數值為Google DNS nameserver:8.8.8.88.8.4.4。我們得改成國內的DNS地址,比如:

1.2.4.8

阿里DNS:223.5.5.5223.6.6.6

114DNS:114.114.114.114114.114.115.115

比如:

{
  "dns": ["223.5.5.5", "223.6.6.6"]
}
log-driver

Log driver是Docker用來接收來自容器內部stdout/stderr的日志的模塊,Docker默認的log driver是JSON File logging driver。這里只講json-file的配置,其他的請查閱相關文檔。

json-file會將容器日志存儲在docker host machine的/var/lib/docker/containers//-json.log(需要root權限才能夠讀),既然日志是存在磁盤上的,那么就要磁盤消耗的問題。下面介紹兩個關鍵參數:

max-size,單個日志文件最大尺寸,當日志文件超過此尺寸時會滾動,即不再往這個文件里寫,而是寫到一個新的文件里。默認值是-1,代表無限。

max-files,最多保留多少個日志文件。默認值是1。

根據服務器的硬盤尺寸設定合理大小,比如:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-files":"5"
  }
}
storage-driver

Docker推薦使用overlay2作為Storage driver。你可以通過docker info | grep Storage來確認一下當前使用的是什么:

$ docker info | grep "Storage"
Storage Driver: overlay2

如果結果不是overlay2,那你就需要配置一下了:

{
  "storage-driver": "overlay2"
}
mtu

如果docker host machine的網卡MTU為1500,則不需要此步驟

MTU是一個很容易被忽略的參數,Docker默認的MTU是1500,這也是大多數網卡的MTU值。但是!在虛擬化環境下,docker host machine網卡的MTU可能不是1500,比如在openstack創建的虛擬的網卡的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

當Docker網絡的MTU比docker host machine網卡MTU大的時候可能會發生:

容器外出通信失敗

影響網絡性能

所以將Docker網絡MTU設置成和host machine網卡保持一致就行了,比如:

{
  "mtu": 1450
}

驗證:

$ 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,不用驚慌,創建一個容器再觀察就變成1450了(下面的veth是容器的虛擬網卡設備):

$ 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

在到容器里看看它的網卡,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

關于Overlay network的MTU看這篇文章

參考資料

Daemon CLI

Configure logging drivers

JSON File logging driver

Use the OverlayFS storage driver

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28043.html

相關文章

  • docker進階,nginx部署幾個重要點詳解以及開發流程---持續更新

    摘要:無論這個連接是外部主動建立的,還是內部建立的。協議有表示層數據的表示安全壓縮。在整個發展過程中的所有思想和著重點都以一種稱為的文檔格式存在。 部署基礎知識url:協議://網站地址:端口(/)路徑地址?參數eg: http://www.baidu.com:80/abc/dd/ www.baidu.com找服務器 80端口:找服務器上提供服務的應用 nginx uri:/ab...

    KunMinX 評論0 收藏0
  • docker進階,nginx部署幾個重要點詳解以及開發流程---持續更新

    摘要:無論這個連接是外部主動建立的,還是內部建立的。協議有表示層數據的表示安全壓縮。在整個發展過程中的所有思想和著重點都以一種稱為的文檔格式存在。 部署基礎知識url:協議://網站地址:端口(/)路徑地址?參數eg: http://www.baidu.com:80/abc/dd/ www.baidu.com找服務器 80端口:找服務器上提供服務的應用 nginx uri:/ab...

    ytwman 評論0 收藏0
  • Docker 架構私有云的機遇和挑戰

    摘要:說起,必須要介紹是什么東西,為什么中小企業私有云適合使用。看一下現在的架構圖開個玩笑。上面這四點導致我們必須要統一架構,最終把整個業務系統遷移到基于的類似于的私有云的平臺。 本文系 ArchSummit 大會 CODING 工程師王振威演講實錄。 showImg(https://dn-coding-net-production-pp.qbox.me/c2f81423-54b9-4a7b...

    bang590 評論0 收藏0
  • 實錄分享 | Google Borg 系統 與 Coding Docker 實踐

    摘要:剛才聽了謝樂冰的演講我覺得很多東西和我們的思路非常像,從我回國到現在大概有一年多的時間。在看來,一個業務應用應該是分層的,每一層都是一個所謂的服務,剛才謝樂冰講的所謂服務化和異步化,不會把這些東西從前到頭攪在一起,這樣非常難以擴展。 本文是數人云深圳技術分享課上Coding CTO 孫宇聰的演講實錄,小數帶你走近這位詼諧幽默的大牛,領略他深入的見解和豐富的實踐經驗。 非常感謝今天有這個...

    wuyangnju 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<