Docker容器没有互联网:网络主机或ISP问题

Docker container has no internet: network host or ISP problem

我需要帮助找到在我的 docker 容器中访问互联网的方法。

我几天前更换了 ISP,从那时起,当我 'make up' 我的项目的微服务时,没有一个容器可以访问互联网。

经过多次尝试,我尝试了这个:

--net = host (in the docker run)
--network = host (when I build the image)
network_mode = "host" (in the docker-compose)

最后我可以从容器访问互联网,但现在我无法访问我的服务的 url。

任何建议...

这只是对 RHEL linux(不是最安全的解决方案)的快速修复,允许容器访问外部资源(在 docker 基础设施之外)设置 firwalld

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-interface=docker_gwbridge
firewall-cmd --reload

为了在 docker 主机(服务器 运行 容器)之外公开​​应用程序,您必须在 docker-compose.yml 文件中指定“公开端口”

services:
  whoami-test:
    image: containous/whoami
    ports:
      # first is docker host listening port
      # second is docker container exposed port
      - 80:8080 
....

或者使用命令行命令:

docker run --rm \
  -p 80:8080 \
  containous/whoami

以上内容很大程度上取决于您的 server/docker/container 配置,因此请请勿 复制粘贴

嗯,我联系了我的 ISP 以解决我的 docker 容器的连接问题,他们向我解释说他们不支持它们。 回答:更改 ISP。