您的位置:首页 > 运维架构 > Docker

docker容器设置静态IP与宿主机同一网段通信

2016-05-16 21:32 676 查看
很早以前弄过docker容器设置静态ip地址以及容器与容器之间通信,用的不多所以没有记录下来。
今天在网上看到个文章关于设置静态ip地址的。就自己实战下。对了还有个pipework也可以设置。。

操作系统环境

root@zxl-node4:~# cat /etc/issue
Ubuntu 14.04.3 LTS \n \l
宿主机(系统采用ubuntu-14.04.1-server-amd64)的网络采用桥接模式(默认是DHCP模式,还有一种模式就是静态IP),网桥的网段与物理网段相同。目前的物理网段为192.168.75.0/24,网关是192.168.75.2,物理网卡设备为eth0编辑配置文件/etc/network/interfaces,自定义网桥br0,修改的内容如下
root@zxl-node4:~# tail -n8 /etc/network/interfaces
auto br0iface
br0 inet static
address 192.168.75.131
netmask 255.255.255.0
gateway 192.168.75.2
bridge_ports eth0
bridge_stp off
dns-nameservers 192.168.75.2
保存退出后,重启网络
root@zxl-node4:~# ifdown -a && ifup -a
使用ifconfig命令查看网络接口信息,宿主机ip地址192.168.75.131


网桥配置好后,然后就是配置docker网络配置

容器启动网络模式必须为none,用-net=none指定,示例如下

root@zxl-node4:~# docker run -itd --name  x6  --net=none ubuntu /bin/bash
142cbe651cb7289edbc0fa8804e135908c75fb7ac26cf474f55c5e7786049bfb
注:docker容器ID比较长可以简写即可,使用docker ps也可以看到容器ID,示例如下


给新运行的容器设置静态IP地址,网上有个哥们使用脚本的方式配置IP然后输入参数即可,我是直接使用它的scripts,142cbe651cb7容器ID,24位掩码,192.168.75.2网关。示例如下

root@zxl-node4:~# sh static_ip.sh 142cbe651cb7 192.168.75.199 24 192.168.75.2
ping一下给容器x6设置的静态ip192.168.75.199


进入容器名字为x6,查看下ip地址




注:docker容器重启后IP地址就米了脚本内容如下



本文出自 “村里的男孩” 博客,请务必保留此出处http://noodle.blog.51cto.com/2925423/1774081
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: