我的设置:
- Linux Mint 20
- Docker 版本 19.03.12
- 思科 AnyConnect 4.3.05017
我的问题:
当我连接到我公司的 VPN 时,我无法通过我的 docker 容器访问互联网。例如运行 docker run -it ubuntu apt update
将失败并显示消息“Err:1 http://archive.ubuntu.com/ubuntu focus InRelease
解决“archive.ubuntu.com”的临时故障”
从 VPN 断开连接不能解决问题。 (参见解决方法 #2)
我有两种解决方法:
- 使用
docker run -it --net=host ubuntu apt update
运行 docker 可以正常工作,但是,对于我公司的脚本和构建系统来说,这不是一个合适的解决方法。它适用于临时工作。 -
断开与 VPN 的连接并运行以下脚本(来自 https://github.com/moby/moby/issues/36151 ):
# /bin/bash docker system prune -a systemctl stop docker iptables -F ip link set docker0 down brctl delbr docker0 systemctl start docker
将允许它再次工作 - 但是我无法访问我公司的内部服务器,这也是构建我们的软件所必需的。
我已经尝试过这些事情:
* 添加 DNS 到 daemon.json ( [My docker container has no internet](https://stackoverflow.com/questions/20430371/my-docker-container-has-no-internet) )
* 修复 resolv.conf ( [My docker container has no internet](https://stackoverflow.com/questions/20430371/my-docker-container-has-no-internet) )
* [https://superuser.com/questions/1130898/no-internet-connection-inside-docker-containers](https://superuser.com/questions/1130898/no-internet-connection-inside-docker-containers)
* [Docker container can only access internet with --net=host](https://stackoverflow.com/questions/35519615/docker-container-can-only-access-internet-with-net-host)
* [https://stackoverflow.com/a/35519951/9496422](https://stackoverflow.com/a/35519951/9496422)
* 基本上在谷歌前两页搜索“docker container no internet behind vpn”的任何其他点击