红联Linux门户
Linux帮助

在centOS6.5上安装使用pipework

发布时间:2016-10-01 11:35:29来源:linux网站作者:water___Wang
需求:镜像生成了2个含有tomcat的容器,用nginx进行负载均衡。但是容器重启后ip会自动改变。所以使用pipework进行分配静态ip。
 
pipework安装
OS:centos6.5
第一步:安装git
root@bogon ~]# yum -y install git
第二步:安装pipework
[root@bogon ~]# git clone https://github.com/jpetazzo/pipework.git
第三步:使用pipework
pipework docker0 容器id或者容器名 172.17.0.10/16@255.255.0.0    //172.17.0.110/16 是为container指定的ip和子网掩码,255.255.0.0为 默认网关
 
在centos6.5用 pipework, ,报如下错:Object "nets" is unknown, try "ip help".把这个报错解决了,就可以用了。
原因及解决:
Centos6.5的内核已经支持network namespace, 但安装的iproute版本过低,不支持ip nets 命令。
升级iproute 至 iproute-2.6.32-130.el6ost.netns.2.x86_64
方法如下:
# yum install https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.noarch.rpm        
如果上步骤出现404错误,一种原因是rdo地址改变了,另外一种是
先删除旧的rdo
rpm -ev rdo-release
安装iproute
# yum install iproute
 
使用pipework
1.生成一个叫test的空网卡的容器
docker run -d --net=none --name test  tutum/tomcat
2.给这个容器配制ip
pipework docker0 容器id或者容器名 172.17.0.10/16@255.255.0.0    //172.17.0.110/16 是为container指定的ip和子网掩码,255.255.0.0为 默认网关
pipework docker0 test 172.17.0.10/16@255.255.0.0
 
配制nginx
1.启动nginx所在的容器
docker start 容器id
2.修改nginx.conf中的ip
3.验证conf配置是否正确
docker exec 容器id nginx -t 
4.启动nginx
docker exec 容器id service nginx restart
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24648.html