docker集装箱不断失去互联网

我已经configuration在Centos 6.5上使用docker。 很多时候,容器不断失去互联网。 在这种情况下,我必须重新启动主机上的Docker。 最近,我尝试从容器内运行失败的yum更新。 以下是来自/ var / log / docker的日志

2014/07/15 10:33:36 GET /v1.12/containers/update_test/json [b601ba8c] +job container_inspect(update_test) [b601ba8c] -job container_inspect(update_test) = OK (0) 2014/07/15 10:33:36 POST /v1.12/containers/update_test/attach?stderr=1&stdin=1&stdout=1&stream=1 [b601ba8c] +job container_inspect(update_test) 2014/07/15 10:33:36 POST /v1.12/containers/update_test/start [b601ba8c] +job start(update_test) [b601ba8c] -job container_inspect(update_test) = OK (0) [b601ba8c] +job attach(update_test) [b601ba8c] +job allocate_interface(5a5c0247441ef5872b531ba720ba1f7d8af2df1cbd47b4a98b84a7b995384d8b) [b601ba8c] -job allocate_interface(5a5c0247441ef5872b531ba720ba1f7d8af2df1cbd47b4a98b84a7b995384d8b) = OK (0) [b601ba8c] -job start(update_test) = OK (0) 2014/07/15 10:33:36 POST /v1.12/containers/update_test/resize?h=37&w=165 [b601ba8c] +job resize(update_test, 37, 165) [b601ba8c] -job resize(update_test, 37, 165) = OK (0) [b601ba8c] +job release_interface(5a5c0247441ef5872b531ba720ba1f7d8af2df1cbd47b4a98b84a7b995384d8b) [b601ba8c] -job release_interface(5a5c0247441ef5872b531ba720ba1f7d8af2df1cbd47b4a98b84a7b995384d8b) = OK (0) [error] container.go:492 5a5c0247441ef5872b531ba720ba1f7d8af2df1cbd47b4a98b84a7b995384d8b: Error closing terminal: invalid argument [b601ba8c] -job attach(update_test) = OK (0) 

如上所述,重新启动主机上的Docker解决了这个问题。 我不想继续重新启动泊坞窗,因为我打算通过docker运行一个生产应用程序。 有人有这方面的想法吗?

请让我知道你是否需要这方面的更多信息。

如果你没有在主机/etc/resolv.conf设置DNS,那么你可以面对一些networking问题; 如果您仍然遇到这个问题,请考虑在--dns 209.244.0.3 docker run设置中使用--dns 209.244.0.3 ; 解决scheme可能如下所示:

docker run -d --dns 209.244.0.3 centos webapp.sh

另一个有用的参数,你可能会需要在这个问题上的某些时候是 – --add-host添加到容器的/etc/hosts文件

我没有提到主机托pipe在Rackspace,这是我的坏处。 我很抱歉没有澄清(当时我认为这是无关紧要的)。 这是Rackspace的自动化例程,不断搞乱了iptables,这明显影响了docker路由。 Rackspacebuild议在/ etc的某处创build一个锁文件,以防止他们的自动程序触及我现在已经忘记的iptables; 如果遇到这个问题,任何人都不应该很难从他们那里得到答案。