1. 程式人生 > 實用技巧 >部署Harbor主機與容器網路不通問題

部署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 installbridge-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通容器網路