在centOS6.5 上安装使用pipework

需求:镜像生成了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/[email protected]    //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/[email protected]    //172.17.0.110/16 是为container指定的ip和子网掩码,255.255.0.0为 默认网关
pipework docker0 test 172.17.0.10/[email protected]
配制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

你可能感兴趣的:(大数据)