亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker 默認bridge網絡中配置DNS的方法

 更新時間:2018年03月28日 10:24:29   作者:周立  
這篇文章主要介紹了Docker 默認bridge網絡中配置DNS的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本節(jié)描述如何在Docker默認網橋中配置容器DNS。 當您安裝Docker時,就會自動創(chuàng)建一個名為bridge 的橋接網絡。

注意 : Docker網絡功能 允許您創(chuàng)建除默認網橋之外的用戶自定義網絡。 有關用戶自定義網絡中DNS配置的更多信息,請參閱Docker嵌入式DNS 部分。

Docker如何為每個容器提供主機名和DNS配置,而無需在構建自定義Docker鏡像時在內部寫入主機名?它的訣竅是利用可以寫入新信息的虛擬文件,在容器內覆蓋三個關鍵的/etc 文件。 你可以通過在一個容器中運行mount 來看到這一點:

root@f38c87f2a42d:/# mount
...
/dev/disk/by-uuid/1fec...ebdf on /etc/hostname type ext4 ...
/dev/disk/by-uuid/1fec...ebdf on /etc/hosts type ext4 ...
/dev/disk/by-uuid/1fec...ebdf on /etc/resolv.conf type ext4 ...
...

這樣一來,Docker可以讓宿主機在稍后通過DHCP接收到新的配置后,使所有容器中的resolv.conf 保持最新狀態(tài)。 Docker在容器中維護這些文件的具體細節(jié)可能會可能會隨著Docker版本的演進而改變,因此您不該自己管理/etc文件,而應該用以下Docker選項。

四個不同的選項會影響容器域名服務。

參數 描述
-h HOSTNAME or --hostname=HOSTNAME 設置容器的主機名。 該設置的值將會被寫入/etc/hostname ;寫入/etc/hosts 作為容器的面向主機IP地址的名稱(筆者按:在/etc/hosts里添加一條記錄,IP是宿主機可以訪問的IP,host就是你設置的host),并且是容器內部/bin/bash 在其提示符下顯示的名稱。 但主機名不容易從容器外面看到。 它不會出現在docker ps 或任何其他容器的/etc/hosts文件中。
--link=CONTAINER_NAMEor ID:ALIAS 在run 容器時使用此選項為新容器的/etc/hosts 添加了一個名為ALIAS的額外條目,指向由CONTAINER_NAME_or_ID標識的CONTAINER_NAME_or_ID的IP地址。這使得新容器內的進程可以連接到主機名ALIAS 而不必知道其IP。 --link=選項將在下面進行更詳細的討論。 因為Docker可以在重新啟動時為鏈接的容器分配不同的IP地址,Docker會更新收件人容器的/etc/hosts 文件中的ALIAS條目。
--dns=IP_ADDRESS... 在容器的/etc/resolv.conf文件添加nameserver 行,IP地址為指定IP。 容器中的進程在如果需要訪問/etc/hosts 里的主機名,就會連接到這些IP地址的53端口,尋找名稱解析服務。
--dns-search=DOMAIN... 通過在容器的/etc/resolv.conf寫入search 行,在容器內使用裸不合格的主機名時搜索的域名。 當容器進程嘗試訪問host 并且搜索域example.com 被設置時,例如,DNS邏輯不僅將查找host ,還將查找host.example.com 。使用--dns-search=. 如果您不想設置搜索域。
--dns-opt=OPTION... 通過將options 行寫入容器的/etc/resolv.conf 設置DNS解析器使用的選項。有關有效選項的列表,請參閱resolv.conf文檔

在沒有--dns=IP_ADDRESS... , --dns-search=DOMAIN...或--dns-opt=OPTION...選項的情況下,Docker使每個容器的/etc/resolv.conf 看起來像宿主機的/etc/resolv.conf 。當創(chuàng)建容器的/etc/resolv.conf ,Docker daemon會從主機的原始文件中過濾掉所有l(wèi)ocalhost IP地址nameserver 條目。

過濾是必要的,因為主機上的所有l(wèi)ocalhost地址都不可從容器的網絡中訪問。 過濾之后,如果容器的/etc/resolv.conf 文件中沒有更多的nameserver 條目,Docker daemon會將Google DNS名稱服務器(8.8.8.8和8.8.4.4)添加到容器的DNS配置中。 如果守護進程啟用了IPv6,則也會添加公共IPv6 Google DNS名稱服務器(2001:4860:4860::8888 和 2001:4860:4860::8844)。

注意 :如果您需要訪問主機的localhost解析器,則必須在主機上修改DNS服務,以便偵聽從容器內可訪問的non-localhost地址。

您可能會想知道宿主機的/etc/resolv.conf 文件發(fā)生了什么變化。 docker daemon 有一個文件更改通知程序,它將監(jiān)視主機DNS配置的更改。

注意 :文件更改通知程序依賴于Linux內核的inotify功能。由于此功能目前與overlay文件系統(tǒng)驅動不兼容,因此使用“overlay”的Docker daemon將無法利用/etc/resolv.conf 自動更新的功能。
當宿主機文件更改時,所有resolv.conf 與主機匹配的停止的容器將立即更新到最新的主機配置。 當宿主機配置更改時,運行的容器將需要停止并開始接收主機更改,這是由于缺少設備,以確保在容器運行時對resolv.conf 文件的原子寫入。 如果容器修改了默認的resolv.conf 文件,則不會替換該文件,因為如果替換,將會覆蓋容器執(zhí)行的更改。 如果選項( --dns , --dns-search 或--dns-opt )已被用于修改默認的主機配置,則更換主機的/etc/resolv.conf 也不會發(fā)生。

注意 :對于在Docker 1.5.0中實現/etc/resolv.conf 更新功能之前創(chuàng)建的容器:當主機resolv.conf文件更改時,這些容器將不會收到更新。 只有使用Docker 1.5.0及以上版本創(chuàng)建的容器才能使用此自動更新功能。

原文
https://docs.docker.com/engine/userguide/networking/default_network/configure-dns/

拓展閱讀
Docker存儲驅動的選擇:https://docs.docker.com/engine/userguide/storagedriver/selectadriver/#docker-ce

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • docker 查看容器日志命令的實現

    docker 查看容器日志命令的實現

    這篇文章主要介紹了docker 查看容器日志命令的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • IDEA 通過docker插件發(fā)布springboot項目的詳細教程

    IDEA 通過docker插件發(fā)布springboot項目的詳細教程

    這篇文章主要介紹了IDEA 通過docker插件發(fā)布springboot項目的詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 基于Docker的PHP調用基于Docker的Mysql數據庫

    基于Docker的PHP調用基于Docker的Mysql數據庫

    Docker 是一個開源的應用容器引擎,自從接觸docker以來,一直想建立基于Docker的PHP調用基于Docker的Mysql數據庫,下面通過本文給大家介紹下,感興趣的朋友參考下
    2016-11-11
  • Docker安裝RabbitMQ的超詳細步驟

    Docker安裝RabbitMQ的超詳細步驟

    RabbitMQ是一套開源的消息隊列服務軟件,是由LShift提供的一個 Advanced Message Queuing Protocol的開源實現,由以高性能、健壯以及可伸縮性出名的 Erlang 寫成,這篇文章主要給大家介紹了關于Docker安裝RabbitMQ的超詳細步驟,需要的朋友可以參考下
    2022-08-08
  • 詳解nodejs之創(chuàng)建最小docker鏡像

    詳解nodejs之創(chuàng)建最小docker鏡像

    這篇文章主要介紹了詳解nodejs之創(chuàng)建最小docker鏡像,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Docker進階之快速擴容的方法

    Docker進階之快速擴容的方法

    這篇文章主要介紹了Docker進階之快速擴容的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 如何使用 docker compose 搭建 fastDFS文件服務器

    如何使用 docker compose 搭建 fastDFS文件服務器

    這篇文章主要介紹了如何使用 docker compose 搭建 fastDFS文件服務器,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • docker mysql啟動時執(zhí)行初始化sql

    docker mysql啟動時執(zhí)行初始化sql

    這篇文章主要介紹了docker mysql啟動時執(zhí)行初始化sql問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • 使用Docker搭建Vsftpd 的 FTP 服務的詳細過程

    使用Docker搭建Vsftpd 的 FTP 服務的詳細過程

    FTP 基礎FTP 需要兩個端口,一個是數據端口,一個是控制端口,這篇文章主要介紹了使用Docker搭建Vsftpd的FTP服務,需要的朋友可以參考下
    2022-08-08
  • Docker安裝Redis容器的實現步驟

    Docker安裝Redis容器的實現步驟

    本文主要介紹了Docker安裝Redis容器的實現步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論