部署Harbor主機與容器網路不通問題

2022-07-09 06:33:09 字數 1800 閱讀 1419

harbor部署步驟:

問題簡述:正常按照部署步驟即可正常訪問,但我部署完之後,瀏覽器無法訪問,同時檢查宿主機發現也無法ping通容器,並且telnet不通埠,開始排查問題所在。

1、檢查firewalld以及iptables規則

首先看到firewalld已經是關閉的狀態,這裡檢視iptables的規則。

input規則預設允許,docker-proxy貌似也沒看出什麼問題

2、檢查docker狀態

先把這些警告處理掉,修改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通容器網路

Docker容器訪問宿主機網路

業務請求量小的時候,我們會把一些工程部署到同一臺機器上。這些工程之間也會相互訪問。如果是http的介面,我們最方便的是使用localhost帶地本機的ip。不過結合docker容器後出現了問題。docker容器中localhost表示容器的ip位址。不是宿主機ip。其實docker容器執行的時候有h...

私有映象倉庫Harbor基礎介紹與部署

harbor,是乙個英文單詞,意思是港灣,港灣是幹什麼的呢,就是停放貨物的,而貨物呢,是裝在貨櫃中的,說到貨櫃,就不得不提到 docker 容器,因為 docker 容器的技術正是借鑑了貨櫃的原理。所以,harbor 正是乙個用於儲存 docker 映象的企業級 registry 服務。regist...

容器無法訪問容器宿主機外部網路

現象是a機器上的容器無法訪問b機器 檢視docker網路 com.docker.network.bridge.enable ip masquerade值為false.enable ip masquerade 是否開啟ip偽裝 ip偽裝,是linux系統的一種網路功能,如果一台linux主機使用ip偽...