2017-02-17 68 views
1

我试图运行Ubuntu的泊坞窗里面,但我的网络有几个限制:泊坞窗 - 本地DNS

  1. 必须使用网络的DNS,当我将它设置,我没有得到回应,我怀疑它是因为返回的地址是IP泊坞窗... 172
  2. 必须使用网络代理,我可以设置一个包膜,但它是无用没有DNS工作

我想这一点:

docker run --dns=10.69.114.61 -it ubuntu 
docker run --dns=172.17.0.1 -it ubuntu (docker0 interface IP) 

回答

2

默认情况下,Docker容器将使用docker主机的dns设置。 为了指定的DNS服务器:

docker run --dns=10.69.114.61 -it debian:jessie /bin/bash 
[email protected]:/# cat /etc/resolv.conf 
nameserver 10.69.114.61 

不用说,你必须提供您的网络的DNS服务器IP地址--dns标志。

docker run --dns=<your DNS server IP> -it debian:jessie /bin/bash 

正如你所指出的,你应该指定HTTP_PROXY变量来使用你的代理服务器。

+0

默认情况下,它显示docker或我使用的Ubuntu映像正在使用Google的DNS。当我改变这种情况时,看起来我的防火墙阻止了即使到达DNS服务器的请求,因为返回地址中的IP地址是172 ...不可路由的。假设我让我的请求发送到8.8.8.8,并且返回地址是172 ...那会如何返回?我的路由器用NAT做的事情就是为我处理。为什么码头工不这样做? – Walter

+0

您的互联网边缘路由器/防火墙将使用NAT并将该地址转换为公共IP地址,因此没有问题。 –

+0

好的,所以我的工作站需要设置为正确转发连接。我想我需要设置一个iptables规则(启用转发),并且很可能设置一个内核配置来启用ip转发? – Walter