安装URLOS后无法访问或者访问报错

如果安装URLOS之后无法访问,或者访问报错,可能是容器内部无法访问外部网络所造成。

判断容器内部是否能访问外部网络的方法

使用命令方式进入容器内部:

docker exec -it urlos bash

进入后,使用curl命令访问www.baidu.com:

curl www.baidu.com

如果返回网页内容,说明可以访问外部网络;如果返回curl: (56) Recv failure: Connection reset by peer,说明无法访问外部网络。

如何排查和解决问题

容器内部无法访问外部网络的原因有很多,大部分原因是主机对docker的支持并不完全,这时能换主机则换主机;也有部分情况是主机商对主机网卡配置的问题,下面所提到的情况就后者。

一般情况下主机网卡mtu默认值是1500,docker的虚拟网卡mtu默认值也是1500,然而部分主机厂商将mtu值改成了1450,这就导致了docker容器内部无法访问外部网络了。

查看网卡mtu值的命令ifconfig,如下图,两个mtu值不同

如果您的主机也是这种情况,建议与主机厂商取得联系,要求其修改网卡mtu值为1500。如果无法修改主机网卡mtu值,我们提供一个临时解决方案,修改docker配置文件:

以ubuntu为例,编辑daemon.json文件

vim /etc/docker/daemon.json

在其内容中增加“mtu”: 1450

image-20201104164820595

然后重启docker

service docker restart

重启之后,执行ifconfig查看

image-20201104164959529

两个值保持了一致,这样就能正常使用URLOS了。

需要注意:如果重新安装URLOS或者升级URLOS,则会重置docker网卡mtu值,须再次修改daemon.json文件。

Copyright © www.urlos.com 2021 all right reserved,powered by Gitbook文档最近一次修订时间: 2020-11-27

results matching ""

    No results matching ""