如何在docker中搭建lvs_nat環境?
阿新 • • 發佈:2019-02-15
什麼是LVS?
怎麼在docker中構建lvs?需要什麼環境?
首先需要一個docker 環境,如何構建docker環境請查閱我的另一篇文章
然後需要一個centos7的基礎映象。開始:
第一步:
執行映象:
命令:docker run --privileged -d -i -t daocloud.io/centos:7 /bin/bash
必須使用 :--privileged引數啟動,否則執行ipvsadm命令報錯
檢視,啟動成功的容器
第二步:進入該容器:docker exec -i -t angry_agnesi /bin/bash
安裝ipvsadm:yum install -y ipvsadm
安裝完畢
測試是否安裝成功?如下則為成功。
然而有時候會出現這種報錯:
網上說的方式好多都不能解決問題,我最終找到的解決方式是:
1.在啟動映象的時候加上--privileged引數
2.在宿主機上也安裝ipvsadm,如果用privileged引數啟動映象中出現上述錯誤,那麼去宿主機中輸入ipvsadm命令後沒有錯誤,再進入映象中就好了。(別問我為什麼,我也很絕望)
3.配置LVS_NAT
首先我們啟動兩個應用,並分別暴露8080和8088埠。
宿主機ip
分別進入到這兩個容器中,輸入ip addr命令,檢視他們的ip地址
至此我們知道了我們的兩個RS1=172.17.0.3 RS2=172.17.0.4 VIP=172.17.0.2
由於我們是在docker中建立的,所以我們的RS都可以寫成宿主機的ip10.5.50.25 從宿主機的8080和8088埠對映到app1和app2容器中的8080埠, 所以我們的ipvsadm設定如下:
測試結果:
建立的