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通容器網絡

