最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決docker容器設(shè)置DNS不生效的問題

 更新時(shí)間:2025年01月06日 09:13:32   作者:catoop  
文章主要介紹了如何在Docker中設(shè)置DNS,并通過兩種方式(`docker run`和`docker-compose.yml`)進(jìn)行了詳細(xì)說明,雖然`docker run`方式可以成功設(shè)置DNS,但`docker-compose.yml`方式在某些情況下會(huì)導(dǎo)致DNS配置無效,因?yàn)槿萜鞯腵/etc/resolv.conf`文件

docker容器設(shè)置DNS不生效問題

設(shè)定DNS的方法

先來說一下 docker run 和 docker-compose 指定 dns 的方法。

1、docker run 命令 設(shè)置 dns

docker run --dns=8.8.8.8

2、docker-compose.yml 文件中 設(shè)置dns

version: '3.9'
services:

  coredns:
    image: hello:1.0.0
    container_name: hello
    dns: 8.8.8.8

通過以上兩種方式配置 dns 后,你會(huì)發(fā)現(xiàn) docker run方式設(shè)定的有效,docker-compose 方式設(shè)定的 dns 無效。

主要表現(xiàn)在容器中 /etc/resolv.conf 中的地址沒有變化,修改文件重啟后仍不生效。

不生效原因分析

容器的 /etc/hosts 、hostname 等文件 都是默認(rèn)掛載宿主機(jī)里的配置的,命令行進(jìn)入容器后,在容器中使用 mount 命令可以看到。

一般容器中默認(rèn)的 nameserver 就是 127.0.0.11 。

解決方案

1、直接使用 volume 設(shè)置重新映射 /etc/resolv.conf 文件到宿主機(jī)的位置。既在宿主機(jī)上自定義一個(gè)文件(或者直接使用宿主機(jī)的 /etc/resolv.conf),掛載到容器內(nèi)的 /etc/resolv.conf。

2、在 /etc/docker/daemon.json 中配置所有 docker 容器的缺省 dns(這里配置的 dns 僅對(duì) docker run 默認(rèn)網(wǎng)絡(luò)啟動(dòng)的走 docker0 網(wǎng)橋的容器有效)。

3、在 docker-compose 中配置參數(shù) network_mode: bridge 的容器。注意設(shè)置了該參數(shù)的容器不能再用 networks 配置額外的網(wǎng)絡(luò)信息。

官方說明釋義

參考官方文檔說明,意思是如果使用默認(rèn)的 docker0 網(wǎng)絡(luò)的容器,dns 配置會(huì)生效,但是使用自定義網(wǎng)絡(luò)話(docker-compose 默認(rèn)就創(chuàng)建新的自定義網(wǎng)絡(luò)),就不會(huì)用宿主機(jī)的 dns文件,從而不能覆蓋 resolv.conf 配置,既不能生效。

而使用 docker run 默認(rèn)使用的是橋接模式下的 docker0 網(wǎng)橋,所以生效docker-compose 文件啟動(dòng)會(huì)創(chuàng)建新的網(wǎng)橋,所以不生效。

結(jié)合上述說明,如果想讓 docker-compose.yml 中的容器配置 dns 生效,就需要為容器設(shè)置 network_mode: bridge 后再設(shè)置 dns,這樣對(duì)應(yīng)的容器 dns 生效(設(shè)定 network_mode: bridge 的容器可以通過相關(guān)命令查看它走的是 docker0 網(wǎng)橋)。

最后,因?yàn)?docker-compose 中 network_mode: bridgenetworks,兩個(gè)配置只能二選一,加上在 docker-compose 中為容器設(shè)定固定IP 又需要通過 networks 來配置,所以在 docker-compose 中如果你選擇 network_mode: bridge 就之能放棄為容器設(shè)置固定 IP 的需求。

相關(guān)連接:

總結(jié)

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

相關(guān)文章

  • 在云服務(wù)器上基于docker安裝jenkins的實(shí)現(xiàn)步驟

    在云服務(wù)器上基于docker安裝jenkins的實(shí)現(xiàn)步驟

    本文主要介紹了在云服務(wù)器上基于docker安裝jenkins的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • docker和docker-compose的版本對(duì)應(yīng)關(guān)系的實(shí)現(xiàn)

    docker和docker-compose的版本對(duì)應(yīng)關(guān)系的實(shí)現(xiàn)

    本文主要介紹了docker和docker-compose的版本對(duì)應(yīng)關(guān)系的實(shí)現(xiàn),兩者雖非強(qiáng)制綁定,但新版本docker-compose可能依賴更高版本Docker引擎的API,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-06-06
  • 部署Docker Registry并配置認(rèn)證登錄教程

    部署Docker Registry并配置認(rèn)證登錄教程

    DockerRegistry是一個(gè)用于存儲(chǔ)和分發(fā)Docker鏡像的無狀態(tài)、高度可擴(kuò)展的服務(wù)器側(cè)應(yīng)用程序,在內(nèi)網(wǎng)環(huán)境下,可以使用DockerRegistry來解決k8s集群的鏡像拉取問題,如果需要開啟認(rèn)證功能,可以直接看配置DockerRegistry認(rèn)證搭建
    2025-12-12
  • 使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器的詳細(xì)過程

    使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器的詳細(xì)過程

    這篇文章主要介紹了使用Docker的NFS-Ganesha鏡像搭建nfs服務(wù)器,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • docker-compose之基本語法解讀

    docker-compose之基本語法解讀

    這篇文章主要介紹了docker-compose之基本語法解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • docker鏡像拉取速度過慢的解決方案

    docker鏡像拉取速度過慢的解決方案

    這篇文章主要介紹了docker鏡像拉取速度過慢的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • docker?compose部署mongodb?分片集群的操作方法

    docker?compose部署mongodb?分片集群的操作方法

    分片機(jī)制(Sharding)是MongoDB中用于處理大規(guī)模數(shù)據(jù)集和高負(fù)載應(yīng)用的一種數(shù)據(jù)分布策略,通過將數(shù)據(jù)均勻分布在多個(gè)服務(wù)器上,分片技術(shù)能夠提高應(yīng)用的可擴(kuò)展性和性能,本文給大家介紹docker?compose部署mongodb?分片集群的相關(guān)操作,感興趣的朋友一起看看吧
    2024-10-10
  • Docker部署B(yǎng)Iind9 DNS服務(wù)器過程

    Docker部署B(yǎng)Iind9 DNS服務(wù)器過程

    這篇文章主要介紹了Docker部署B(yǎng)Iind9 DNS服務(wù)器過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • docker部署Minio報(bào)錯(cuò):Fatal glibc error:CPU does not support x86-64-v2問題

    docker部署Minio報(bào)錯(cuò):Fatal glibc error:CPU does&nb

    在CentOS 7上使用Docker部署Minio時(shí)遇到CPU不支持問題,通過研究確定是版本太新,由于項(xiàng)目經(jīng)費(fèi)有限,決定降級(jí)到CentOS 7,步驟包括拉取Minio鏡像、創(chuàng)建目錄、開放端口和運(yùn)行
    2024-12-12
  • 一文教你輕松搞定Docker無法拉取鏡像問題

    一文教你輕松搞定Docker無法拉取鏡像問題

    這篇文章主要介紹了當(dāng)Docker無法成功拉取鏡像時(shí)可能遇到的問題以及解決方法,文中通過代碼介紹的非常詳細(xì),對(duì)遇到這個(gè)問題的同學(xué)們具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2025-02-02

最新評(píng)論

麻阳| 乳山市| 富源县| 长白| 凤庆县| 榆中县| 大理市| 定远县| 宁蒗| 青阳县| 桓台县| 安平县| 马鞍山市| 崇仁县| 临安市| 息烽县| 托里县| 襄城县| 吉林市| 论坛| 扬中市| 金华市| 德保县| 科技| 屯留县| 阳城县| 来凤县| 韶山市| 肇源县| 横山县| 吐鲁番市| 沿河| 准格尔旗| 阿克苏市| 电白县| 交口县| 玉山县| 彭泽县| 荥阳市| 广平县| 新绛县|