1. 程式人生 > >如何在docker中搭建lvs_nat環境?

如何在docker中搭建lvs_nat環境?

什麼是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設定如下:



測試結果:


建立的