Docker - Ubuntu 20.04 升级后没有路由到主机

Posted

技术标签:

【中文标题】Docker - Ubuntu 20.04 升级后没有路由到主机【英文标题】:Docker - no route to host after Ubuntu 20.04 upgrade 【发布时间】:2021-04-06 10:01:35 【问题描述】:

多年来,我一直在为一些应用程序使用 docker-compose,最近,在将主机操作系统从 Ubuntu 18.04 升级到 Ubuntu 20.04 后,当我运行测试容器时,它无法连接到数据库容器,给出信息:

could not connect to server: No route to host

我试过了:

重启 docker 服务 (sudo systemctl restart docker.service) 调整有人推荐的一些奇怪的与网络相关的内核配置。 查看 iptables 以查看 docker 的条目...我无法判断它们是否正确,但其中有一些。

什么可能导致这种变化,我该如何解决?

【问题讨论】:

我很好奇为什么有 2 个人投票结束这个?有什么我应该知道在以后的帖子中不要做的事情吗? 【参考方案1】:

事实证明,我只需要重新创建 docker 网络和容器:

警告:如果您的容器中有任何不想丢失的数据,请不要这样做!

$ docker-compose down # removes all containers and networks associated with the compose config
$ docker-compose up # re-creates them

还可以选择仅删除网络:docker rm network [network-name],但这似乎使容器处于不可用状态,试图连接到旧网络,即使在创建新网络之后也是如此......可能有一个解决此问题的方法,如果您有不想丢失的数据。 (我只是还没研究过)

【讨论】:

以上是关于Docker - Ubuntu 20.04 升级后没有路由到主机的主要内容,如果未能解决你的问题,请参考以下文章

从 Ubuntu 19.10 升级到 20.04 后缺少 Distutils 文件夹的问题

将 ubuntu 18.04 升级到 20.04 后,简单的 hello world snap 不起作用

升级到 Ubuntu 20.04 后 PHP MySQLi 不再工作 [重复]

无法重新启动 mysql.service:从 18.4 升级后,单元 mysql.service 在 Ubuntu 20.04 中被屏蔽

Windows 10 2004 安装配置 Ubuntu 20.04 并安装Docker

在Docker中使用TensorFlow(GPU版+Ubuntu 20.04)