配置docker的DNS


方式一:在宿主機的 /etc/docker/daemon.json 文件中增加以下內容來設置全部容器的 DNS;

{
  "dns" : [
    "114.114.114.114",
    "8.8.8.8"
  ]
}

配置完重啟docker才能生效。

$ systemctl restart docker

//查看容器的 DNS 是否生效可以使用以下命令
$ docker run -it --rm  ubuntu  cat etc/resolv.conf

方式二:手動設置指定的容器

$ docker run -it --rm -h host_ubuntu  --dns=114.114.114.114 --dns-search=test.com ubuntu

參數說明:
  --rm:容器退出時自動清理容器內部的文件系統;

  -h HOSTNAME 或者 --hostname=HOSTNAME: 設定容器的主機名,它會被寫到容器內的 /etc/hostname 和 /etc/hosts;

  --dns=IP_ADDRESS: 添加 DNS 服務器到容器的 /etc/resolv.conf 中,讓容器用這個服務器來解析所有不在 /etc/hosts 中的主機名;

  --dns-search=DOMAIN: 設定容器的搜索域,當設定搜索域為 .example.com 時,在搜索一個名為 host 的主機時,DNS 不僅搜索 host,還會搜索 host.example.com。

注意:如果在容器啟動時沒有指定 --dns 和 --dns-search,Docker 會默認用宿主主機上的 /etc/resolv.conf 來配置容器的 DNS。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM