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,重新建立乙個新的網橋
## 步驟再次執行brctl show,bridge id發生了改變## 停止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
主機正常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偽...