? ?
docker dns是什么,讓我們一起了解一下?
dns是docker的一種配置,而且不止一種配置方法。
一、docker配置DNS方法
docker容器配置dns解析地址,我知道的有以下幾種辦法(優(yōu)先級從高到低):
1、啟動的時候加–dns=IP_ADDRESS;
2、守護(hù)進(jìn)程啟動參數(shù)中添加DOCKER_OPTS="–dns 8.8.8.8" ;
3、在/etc/docker/deamon.json中添加dns信息(與守護(hù)進(jìn)程參數(shù)會沖突不能同時添加。);
4、使用宿主機(jī)的/etc/resolv.conf文件;
二、默認(rèn)DNS配置
怎樣為Docker提供的每一個容器進(jìn)行主機(jī)名和DNS配置,而不必建立自定義鏡像并將主機(jī)名寫 到里面?它的訣竅是覆蓋三個至關(guān)重要的在/etc下的容器內(nèi)的虛擬文件,那幾個文件可以寫入 新的信息。你可以在容器內(nèi)部運(yùn)行mount看到這個:
$?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?... ...
三、啟動時配置dns參數(shù)
-h HOSTNAME or --hostname=HOSTNAME——在該容器啟動時,將HOSTNAME設(shè)置到容器內(nèi)的/etc/hosts, /etc/hostname, /bin/bash提示中。
–link=CONTAINER_NAME or ID:ALIAS——在該容器啟動時,將ALIAS和CONTAINER_NAME/ID對應(yīng)的容器IP添加到/etc/hosts. 如果 CONTAINER_NAME/ID有多個IP地址 ?
–dns=IP_ADDRESS…——在該容器啟動時,將nameserver IP_ADDRESS添加到容器內(nèi)的/etc/resolv.conf中。可以配置多個。
–dns-search=DOMAIN… ——在該容器啟動時,將DOMAIN添加到容器內(nèi)/etc/resolv.conf的dns search列表中。可以配置多個。
–dns-opt=OPTION…——在該容器啟動時,將OPTION添加到容器內(nèi)/etc/resolv.conf中的options選項中,可以配置多個。
以上就是小編的分享,希望可以幫助到大家。