Linux系統配置DNS的時候有一個問題,就是你在/ect/resolv.conf文件中添加上nameserver XXX.XXX.XXX.XXX的時候,當時是生效的,但是機器重啟之后就失效了,所以我們可以通過配置Network的方法來解決,但是對於docker來說,它默認是映射主機的DNS,但是如果你想在docker鏡像中加上非主機的DNS,也許這個方法就解決不了問題,但是對於docker來說有兩種方法來解決這個DNS的問題:
一、當我們希望我們run起來鏡像的時候,/ect/resolv.conf文件中可以自動加載上我們希望的DNS,我們可以加上--dns=xx.xx.xx.xx來啟動鏡像
$ docker run --dns=xx.xx.xx.xx images
二、當我們在build docker鏡像的時,發現並沒有--dns這個參數,那我們該怎么設置DNS呢?我們可以通過修改/etc/docker/daemon.json文件來實現
vim /etc/docker/daemon.json
加入
{
"dns":[xx.xx.xx.xx]
}
即可實現。