欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker網(wǎng)絡(luò)如何配置dns

 更新時(shí)間:2024年02月04日 10:40:01   作者:ghostwritten  
這篇文章主要介紹了Docker網(wǎng)絡(luò)如何配置dns問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

1. docker配置DNS方法

docker容器配置dns解析地址,我知道的有以下幾種辦法(優(yōu)先級(jí)從高到低):

  • 啟動(dòng)的時(shí)候加–dns=IP_ADDRESS;
  • 守護(hù)進(jìn)程啟動(dòng)參數(shù)中添加DOCKER_OPTS=“–dns 8.8.8.8” ;
  • 在/etc/docker/deamon.json中添加dns信息(與守護(hù)進(jìn)程參數(shù)會(huì)沖突不能同時(shí)添加。);
  • 使用宿主機(jī)的/etc/resolv.conf文件;

2. 默認(rèn)DNS配置

怎樣為Docker提供的每一個(gè)容器進(jìn)行主機(jī)名和DNS配置,而不必建立自定義鏡像并將主機(jī)名寫(xiě) 到里面?

它的訣竅是覆蓋三個(gè)至關(guān)重要的在/etc下的容器內(nèi)的虛擬文件,那幾個(gè)文件可以寫(xiě)入 新的信息。

你可以在容器內(nèi)部運(yùn)行mount看到這個(gè):

$ 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 ...
...

3. 啟動(dòng)時(shí)配置dns參數(shù)

OptionsDescription
-h HOSTNAME or --hostname=HOSTNAME在該容器啟動(dòng)時(shí),將HOSTNAME設(shè)置到容器內(nèi)的/etc/hosts, /etc/hostname, /bin/bash提示中。
–link=CONTAINER_NAME or ID:ALIAS在該容器啟動(dòng)時(shí),將ALIAS和CONTAINER_NAME/ID對(duì)應(yīng)的容器IP添加到/etc/hosts. 如果 CONTAINER_NAME/ID有多個(gè)IP地址 ?
–dns=IP_ADDRESS…在該容器啟動(dòng)時(shí),將nameserver IP_ADDRESS添加到容器內(nèi)的/etc/resolv.conf中??梢耘渲枚鄠€(gè)。
–dns-search=DOMAIN…在該容器啟動(dòng)時(shí),將DOMAIN添加到容器內(nèi)/etc/resolv.conf的dns search列表中??梢耘渲枚鄠€(gè)。
–dns-opt=OPTION…在該容器啟動(dòng)時(shí),將OPTION添加到容器內(nèi)/etc/resolv.conf中的options選項(xiàng)中,可以配置多個(gè)

如果docker run時(shí)不含--dns=IP_ADDRESS…, --dns-search=DOMAIN…, or --dns-opt=OPTION…參數(shù),docker daemon會(huì)將copy本主機(jī)的/etc/resolv.conf,然后對(duì)該copy進(jìn)行處理(將那些/etc/resolv.conf中ping不通的nameserver項(xiàng)給拋棄),處理完成后留下的部分就作為該容器內(nèi)部的/etc/resolv.conf。

因此,如果你想利用宿主機(jī)中的/etc/resolv.conf配置的nameserver進(jìn)行域名解析,那么你需要宿主機(jī)中該dns service配置一個(gè)宿主機(jī)內(nèi)容器能ping通的IP。

如果宿主機(jī)的/etc/resolv.conf內(nèi)容發(fā)生改變,docker daemon有一個(gè)對(duì)應(yīng)的file change notifier會(huì)watch到這一變化,然后根據(jù)容器狀態(tài)采取對(duì)應(yīng)的措施:

  • 如果容器狀態(tài)為stopped,則立刻根據(jù)宿主機(jī)的/etc/resolv.conf內(nèi)容更新容器內(nèi)的/etc/resolv.conf.
  • 如果容器狀態(tài)為running,則容器內(nèi)的/etc/resolv.conf將不會(huì)改變,直到該容器狀態(tài)變?yōu)閟topped.
  • 如果容器啟動(dòng)后修改過(guò)容器內(nèi)的/etc/resolv.conf,則不會(huì)對(duì)該容器進(jìn)行處理,否則可能會(huì)丟失已經(jīng)完成的修改,無(wú)論該容器為什么狀態(tài)。
  • 如果容器啟動(dòng)時(shí),用了–dns, --dns-search, or --dns-opt選項(xiàng),其啟動(dòng)時(shí)已經(jīng)修改了宿主機(jī)的/etc/resolv.conf過(guò)濾后的內(nèi)容,因此docker daemon永遠(yuǎn)不會(huì)更新這種容器的/etc/resolv.conf。

注意:

docker daemon監(jiān)控宿主機(jī)/etc/resolv.conf的這個(gè)file change notifier的實(shí)現(xiàn)是依賴linux內(nèi)核的inotify特性,而inotfy特性不兼容overlay fs,因此使用overlay fs driver的docker deamon將無(wú)法使用該/etc/resolv.conf自動(dòng)更新的功能。

 $ sudo docker run --hostname 'myhost' -it centos
 [root@myhost /]# cat /etc/hosts
 172.17.0.7    myhost

 $  sudo docker run -it --dns=192.168.5.1  centos
 [root@6a38049c9052 /]# cat /etc/resolv.conf
 nameserver 192.168.5.1

 $  sudo docker run -it --dns-search=www.domain.com  centos
 [root@ae0e9e99596f /]# cat /etc/resolv.conf
 nameserver 192.168.4.1
 search www.mydomain.com

4. daemon.json配置DNS格式

root@node-7:~# cat /etc/docker/daemon.json
{
  "data-root": "/data/docker",
  "dns": ["172.18.0.52", "172.18.0.70", "183.XX.XX.XX"],
  "dns-search": ["fiibeacon.local"],
  "hosts": ["unix:///var/run/docker.sock", "tcp://172.18.0.141:2375"],
  "storage-driver": "overlay2"
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker Compose 常用命令詳解(最新推薦)

    Docker Compose 常用命令詳解(最新推薦)

    Docker Compose 是一個(gè)用于定義和運(yùn)行多容器 Docker 應(yīng)用的工具,本文將詳細(xì)介紹 Docker Compose 的常用命令,幫助你高效地管理容器應(yīng)用,感興趣的朋友一起看看吧
    2025-04-04
  • 利用OpenVSwitch在多臺(tái)主機(jī)上部署Docker的教程

    利用OpenVSwitch在多臺(tái)主機(jī)上部署Docker的教程

    這篇文章主要介紹了利用OpenVSwitch在多臺(tái)主機(jī)上部署Docker的教程,包括配置多個(gè)容器的IP地址等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • 在wsl-ubuntu中如何通過(guò) docker 啟動(dòng) gpu-jupyter

    在wsl-ubuntu中如何通過(guò) docker 啟動(dòng) gpu-jupyter

    這篇文章主要介紹了在wsl-ubuntu中如何通過(guò) docker 啟動(dòng) gpu-jupyter,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • docker容器的四種端口映射演示分析

    docker容器的四種端口映射演示分析

    這篇文章主要為大家介紹了docker容器的四種端口映射演示分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • 本地Docker部署Navidrome音樂(lè)服務(wù)器與遠(yuǎn)程訪問(wèn)聽(tīng)歌詳細(xì)教程(圖文詳解)

    本地Docker部署Navidrome音樂(lè)服務(wù)器與遠(yuǎn)程訪問(wèn)聽(tīng)歌詳細(xì)教程(圖文詳解)

    本文和大家分享一款目前在G站有11K+Star的開(kāi)源跨平臺(tái)音樂(lè)服務(wù)器?Navidrome,如何在?Linux?環(huán)境本地使用?Docker?部署,并結(jié)合cpolar?內(nèi)網(wǎng)穿透工具配置公網(wǎng)地址,實(shí)現(xiàn)隨時(shí)隨地遠(yuǎn)程訪問(wèn)本地存儲(chǔ)音樂(lè)的詳細(xì)流程,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 如何在 Ubuntu 下通過(guò) Docker 部署 Caddy 服務(wù)器

    如何在 Ubuntu 下通過(guò) Docker 部署 Caddy 

    本文介紹了如何在Ubuntu系統(tǒng)下通過(guò)Docker部署Caddy服務(wù)器,首先安裝Docker,然后啟動(dòng)Docker服務(wù)并設(shè)置為開(kāi)機(jī)自啟,接著拉取Caddy鏡像,并創(chuàng)建一個(gè)Caddyfile配置文件,使用命令運(yùn)行Caddy容器,并將本地的Caddyfile掛載到容器內(nèi),感興趣的朋友跟隨小編一起看看吧
    2025-03-03
  • docker容器資源配額控制詳解

    docker容器資源配額控制詳解

    本篇文章主要介紹了docker容器資源配額控制詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 如何使用?docker?搭建一個(gè)?mysql?服務(wù)

    如何使用?docker?搭建一個(gè)?mysql?服務(wù)

    這篇文章主要介紹了如何使用?docker?搭建一個(gè)mysql服務(wù),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 阿里云系統(tǒng)安裝docker的操作記錄

    阿里云系統(tǒng)安裝docker的操作記錄

    這篇文章主要介紹了阿里云系統(tǒng)安裝docker,阿里云里面的Redis鏡像最新版也就到6.0,為了安裝最新的7.2的redis 只能用本地window 安裝DockerDesktop,然后安裝最新的redis 把鏡像導(dǎo)出來(lái),再導(dǎo)入到云服務(wù),需要的朋友可以參考下
    2024-07-07
  • 基于docker安裝mariadb配置過(guò)程解析

    基于docker安裝mariadb配置過(guò)程解析

    這篇文章主要介紹了基于docker安裝mariadb配置過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論