部署Harbor主机与容器网络不通问题

Harbor部署步骤:https://www.cnblogs.com/wujiest/p/14009706.html

问题简述:正常按照部署步骤即可正常访问,但我部署完之后,浏览器无法访问,同时检查宿主机发现也无法ping通容器,并且telnet不通端口,开始排查问题所在。

 

1、检查firewalld以及iptables规则

首先看到firewalld已经是关闭的状态,这里查看iptables的规则。

 

 

 

 input规则默认允许,docker-proxy貌似也没看出什么问题

 

2、检查docker状态

# docker info

 

 先把这些警告处理掉,修改sysctl.conf配置文件

# vim /etc/sysctl.conf
## 添加如下内容
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-arptables=1
net.ipv4.ip_forward=1

执行命令生效
# sysctl -p

当然这里网络还是不通

3、检查网桥

使用brctl命令,先执行yum install bridge-utils -y 安装软件

brctl show

这是启动harbor容器之后的,因为没保存之前出问题的图,所以只能手动改成之前有问题的情况。

 

 对比没启动容器前的状态

 

 我们可以看到,bridge id在容器启动前后没有任何变化,说明docker的网络存在问题

 

4、解决方式

删掉bridge,重新创建一个新的网桥

## 步骤
## 停止docker
# service docker stop

## 关闭br-4608e1585b83设备
# ip link set dev br-4608e1585b83 down

## 删除网桥
# brctl delbr br-4608e1585b83

## 新建网桥
# brctl addbr br-4608e1585b83

## 添加IP地址
# ip addr add 172.18.0.1/16 dev br-4608e1585b83

## 开启设备
# ip link set dev br-4608e1585b83 up

# service docker start

 

再次执行brctl show,bridge id发生了改变

 

主机正常ping通容器网络

 

posted on 2020-11-20 15:33  一个梦想自由的人  阅读(1464)  评论(0编辑  收藏  举报