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

来源:互联网 发布:辽宁北方广电网络 编辑:程序博客网 时间:2024/06/05 15:00

为什么需要Docker的桥接网络

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

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

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

配置桥接网卡

  • vi /etc/network/interfaces

    auto br2iface br2 inet staticaddress 192.168.1.4netmask 255.255.255.0gateway 192.168.1.1bridge_ports ens33bridge_stp offdns-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.zipunzip master.zipcp 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/

阅读全文
0 0