docker dns是什么,让我们一起了解一下?
dns是docker的一种配置,而且不止一种配置方法。
一、docker配置DNS方法
docker容器配置dns解析地址,我知道的有以下几种办法(优先级从高到低):
1、启动的时候加–dns=IP_ADDRESS;
2、守护进程启动参数中添加DOCKER_OPTS="–dns 8.8.8.8" ;
3、在/etc/docker/deamon.json中添加dns信息(与守护进程参数会冲突不能同时添加。);
4、使用宿主机的/etc/resolv.conf文件;
二、默认DNS配置
怎样为Docker提供的每一个容器进行主机名和DNS配置,而不必建立自定义镜像并将主机名写 到里面?它的诀窍是覆盖三个至关重要的在/etc下的容器内的虚拟文件,那几个文件可以写入 新的信息。你可以在容器内部运行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参数
-h HOSTNAME or --hostname=HOSTNAME——在该容器启动时,将HOSTNAME设置到容器内的/etc/hosts, /etc/hostname, /bin/bash提示中。
–link=CONTAINER_NAME or ID:ALIAS——在该容器启动时,将ALIAS和CONTAINER_NAME/ID对应的容器IP添加到/etc/hosts. 如果 CONTAINER_NAME/ID有多个IP地址 ?
–dns=IP_ADDRESS…——在该容器启动时,将nameserver IP_ADDRESS添加到容器内的/etc/resolv.conf中。可以配置多个。
–dns-search=DOMAIN… ——在该容器启动时,将DOMAIN添加到容器内/etc/resolv.conf的dns search列表中。可以配置多个。
–dns-opt=OPTION…——在该容器启动时,将OPTION添加到容器内/etc/resolv.conf中的options选项中,可以配置多个。
以上就是小编的分享,希望可以帮助到大家。