Networking 我能';你不能让Docker容器访问internet吗?

Networking 我能';你不能让Docker容器访问internet吗?,networking,docker,Networking,Docker,我对此束手无策,我已经梳理了每一个谷歌搜索结果,但没有任何帮助 我完全无法让docker容器访问internet。IP转发已启用(net.ipv4.IP_forward=1),ufw已关闭,我已尝试添加-dns 8.8.8.8-dns 8.8.4标志。我在谷歌上找到的所有可能的解决方案都失败了 有人知道怎么帮你吗 尝试按建议重置所有内容会导致整个事件中断,因为它告诉我,docker-d没有运行,即使它正在运行。已解决。我接着说:注释掉了NetworkManager.conf中的dns=dnsma

我对此束手无策,我已经梳理了每一个谷歌搜索结果,但没有任何帮助

我完全无法让docker容器访问internet。IP转发已启用(
net.ipv4.IP_forward=1
),ufw已关闭,我已尝试添加
-dns 8.8.8.8-dns 8.8.4
标志。我在谷歌上找到的所有可能的解决方案都失败了

有人知道怎么帮你吗


尝试按建议重置所有内容会导致整个事件中断,因为它告诉我,
docker-d
没有运行,即使它正在运行。

已解决。我接着说:注释掉了NetworkManager.conf中的
dns=dnsmasq
行,我面临着同样的问题。因此,为了解决这个问题,我使用参数
--net=host
启动了容器,它对我来说非常有效

下面是完整的声明

sudo docker start --net=host -it --name ex_ngninx ubuntu

这使得它暂时可以工作,但我仍然无法
docker build
。一个
sudo systemctl restart docker
修复了它,这是一个可疑的“修复”。这充其量只是一个解决办法。我已经在谷歌上搜索了一段时间,并且
--net=host
保存了我
--net host
上允许容器访问互联网,但是。定义一个网络对我来说很有用。
--net
不是一个
docker build
选项,但是
--network
似乎是它的一个有效别名。这个答案更好,因为它还修复了
docker build
。请注意,在Ubuntu 16+中,重新启动网络管理器的命令现在是
sudo systemctl restart network manager
,因为它使用的是
systemd
而不是
upstart
。尝试了所有技巧,但始终显示“0%[连接到120.0.0.1(120.0.0.1)][连接到120.0.0.1(120.0.0.1)]”。你知道怎么解决这个问题吗?我的容器在Ubuntu中运行。