什么是LVS?
怎么在docker中构建lvs?需要什么环境?
首先需要一个docker 环境,如何构建docker环境请查阅我的另一篇文章
如何在linux(centos7)虚拟机中搭建Docker?点击打开链接
开始:
第一步:
运行镜像:
命令: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设置如下:
测试结果:
建立的