背景
今天在工作中,由于某种原因,服务器需要重装系统&重新搭建环境&服务重启。
过程
-
在服务器重装系统后,重装了docker后进行docker build时,便遇到了问题:Get https://index.docker.io/v1/repositories/library/openjdk/images: dial tcp [2600:1f18:2148:bc02:4bf0:3a98:55ae:e3d5]:443: network is unreachable。这错误的意思是无法从dockerhub中下载镜像。
-
后来试着pull了一下局域网内的其他服务器的docker镜像,发现可以pull下来。我就没有往是路由方面去考虑了。
-
后来经过多番的docker重装和各种更改docker源后,发现依旧不好使。
-
在最后,我ping了一下www.baidu.com也无法ping通,便几乎确定是无法连接到外网问题。
-
直到第四步,问题的根源就立马暴露出来了,在检查router表后便能发现是router并没有设置默认网关。在设置好默认网关后,便能正常连接到外网了。
[root@myCentOS]# ping www.sina.com.cn
PING ww1.sinaimg.cn.w.alikunlun.com (47.89.66.57) 56(84) bytes of data.
64 bytes from 47.89.66.57: icmp_seq=1 ttl=54 time=7.95 ms
64 bytes from 47.89.66.57: icmp_seq=2 ttl=54 time=7.89 ms
64 bytes from 47.89.66.57: icmp_seq=3 ttl=54 time=7.95 ms
64 bytes from 47.89.66.57: icmp_seq=4 ttl=54 time=8.09 ms
64 bytes from 47.89.66.57: icmp_seq=5 ttl=54 time=8.58 ms
^C
--- ww1.sinaimg.cn.w.alikunlun.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4418ms
rtt min/avg/max/mdev = 7.890/8.096/8.589/0.273 ms
相关指令
# 拉取镜像命令(iregistry.me.com为私有仓库,myname/nginx为私有镜像名称,latest为版本号)
docker pull iregistry.me.com/myname/nginx:latest
# ping
ping www.baidu.com
# 查看路由表
route -n
# 修改静态路由表(服务器重启后依旧生效)
vi /etc/sysconfig/static-routes
# 动态添加路由表(服务器重启后不生效,[10.252.55.1]为自定义的网关,请根据自己服务器剧情情况填入)
route add default gw 10.252.55.1