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

Go游戏服务器开发的一些思考(八):Docker桥接网络及固定IP

2017-07-13 22:27 971 查看

为什么需要Docker的桥接网络

有时我们需要把Docker容器暴露到某个网段,这样就可以把一个Docker容器看成一台物理机。这时就需要用到Docker的桥接网络。

比如 在做Redis集群时,通常现有的Redis管理软件会通过ssh来管理一组Redis。管理软件为了简化远程登录,通常会要求Redis所在的机器(物理机、容器或者云)就有统一的帐号、密码、端口。而一个物理机上通常会开多个Docker Redis容器。如果能把Redis容器变成这个网段的一台物理机,那个就便于Redis管理软件来管理

下面以Ubuntu系统为例,记录下Docker桥接网络的使用

配置桥接网卡

vi /etc/network/interfaces

auto br2
iface br2 inet static
address 192.168.1.4
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports ens33
bridge_stp off
dns-nameservers 8.8.8.8 192.168.1.1


以上把br2绑定到ens33网卡上

vi /etc/docker/daemon.json

{
"bridge": "br2"
}


/etc/init.d/networking restart

/etc/init.d/docker restart

桥接网段

默认桥接IP从xxx.xxx.xxx.1开始

显然会造成IP冲突

配置固定IP段

可以给docker指定某IP段,具体涉及到IP、掩码知识。这里不再多述。

vi /etc/docker/daemon.json

{
"fixed-cidr": "192.168.1.100/26"
}


交接网络联通外网

vi /etc/network/interfaces

添加:

dns-nameservers 192.168.1.1
up route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.1.1


固定IP

安装pipework

wget https://github.com/jpetazzo/pipework/archive/master.zip unzip master.zip
cp pipework-master/pipework  /usr/local/bin/
chmod +x /usr/local/bin/pipework


pipework $BRIDGE $( $DOCKER_RUN ) $IP1/24@$GATEWAY

pipework $BRIDGE $NAME1 $IP1/24@$GATEWAY

参考文档

http://www.jb51.net/article/94550.htm

http://ylw6006.blog.51cto.com/470441/1607014/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐