全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1376|回复: 9

docker怎么配置多IP?

[复制链接]
发表于 2018-12-30 12:16:07 来自手机 | 显示全部楼层 |阅读模式
有台杜甫,有16个IP

怎么让每个容器有自己的公网IP?

用docker0做桥接,每个内网IP对应一个公网IP
发表于 2018-12-30 14:12:15 来自手机 | 显示全部楼层
pipework可以
 楼主| 发表于 2018-12-30 14:35:01 来自手机 | 显示全部楼层
zangdi 发表于 2018-12-30 14:12
pipework可以

试过了,过一段时间就不通了,搞不懂什么原因


我现在就是绑定到网卡eth0:1这样


然后docker用host模式启动,选择网卡eth0:1


但是也不行
发表于 2018-12-30 14:44:21 | 显示全部楼层
这个我 前段时间刚研究过。
 楼主| 发表于 2018-12-30 14:46:20 来自手机 | 显示全部楼层
cjeruen 发表于 2018-12-30 14:44
这个我 前段时间刚研究过。

求大佬解惑
发表于 2018-12-30 14:46:44 | 显示全部楼层

步骤1



    docker network create --attachable --subnet=172.20.0.0/16 --opt "com.docker.network.bridge.name"="docker1" --opt "com.docker.network.bridge.enable_ip_masquerade=false" docker1

步骤2

iptables -t nat -I POSTROUTING -p all -s 172.20.0.101 -j SNAT --to-source 外网ip1
iptables -t nat -I POSTROUTING -p all -s 172.20.0.102 -j SNAT --to-source 外网ip2
iptables -t nat -I POSTROUTING -p all -s 172.20.0.103 -j SNAT --to-source 外网ip3
iptables -t nat -I POSTROUTING -p all -s 172.20.0.104 -j SNAT --to-source 外网ip4
iptables -t nat -I POSTROUTING -p all -s 172.20.0.105 -j SNAT --to-source 外网ip5
iptables -t nat -I POSTROUTING -p all -s 172.20.0.106 -j SNAT --to-source 外网ip6
iptables -t nat -I POSTROUTING -p all -s 172.20.0.107 -j SNAT --to-source 外网ip7
iptables -t nat -I POSTROUTING -p all -s 172.20.0.108 -j SNAT --to-source 外网ip8
iptables -t nat -I POSTROUTING -p all -s 172.20.0.109 -j SNAT --to-source 外网ip9
iptables -t nat -I POSTROUTING -p all -s 172.20.0.110 -j SNAT --to-source 外网ip0


步骤3

    /etc/sysconfig/iptables

    service iptables save

    systemctl restart iptables.service

    查看 iptables 规则
        iptables -t nat -L -n --line-number
    删除 iptables 规则
        iptables -t nat -D POSTROUTING 11
            其中,最后的 11 是要删除的规则序号(num)。


重启docker
    systemctl restart docker

测试

docker run --rm --network=docker1 --ip=172.20.0.101 byrnedo/alpine-curl http://www.myip.ch
docker run --rm --network=docker1 --ip=172.20.0.110 byrnedo/alpine-curl http://checkip.dyndns.org

 楼主| 发表于 2018-12-30 17:35:02 来自手机 | 显示全部楼层
cjeruen 发表于 2018-12-30 14:46
步骤1



进容器还是要端口映射吧
发表于 2018-12-31 21:27:05 | 显示全部楼层
fl20002 发表于 2018-12-30 14:35
试过了,过一段时间就不通了,搞不懂什么原因

不用host模式,网络直接设置成none 使用ovs或者pipework完全可以办到
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-4-9 16:10 , Processed in 0.071919 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表