docker通过iptables修改或新增镜像映射端口

本文详细介绍了如何使用Docker进行端口映射,并通过iptables策略实现容器内外的网络通信。具体包括了常见的SSH(443端口)、自定义(8088端口)及SSH转发(1038端口)等场景的具体配置。
443 8088 22 端口是初始映射端口

[root@SERVER ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 96b2d3c6c99d inits/source1.0.3 "/usr/sbin/sshd -D" 2 hours ago Up 2 hours 0.0.0.0:443->443/tcp, 0.0.0.0:8088->8088/tcp, 0.0.0.0:1038->22/tcp elegant_blackwell
iptables策略

[root@SERVER ~]# iptables -t nat -L -n Chain PREROUTING (policy ACCEPT) target prot opt source destination DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 172.17.0.0/16 0.0.0.0/0 MASQUERADE tcp -- 172.17.0.15 172.17.0.15 tcp dpt:8088 MASQUERADE tcp -- 172.17.0.15 172.17.0.15 tcp dpt:443 MASQUERADE tcp -- 172.17.0.15 172.17.0.15 tcp dpt:22 Chain OUTPUT (policy ACCEPT) target prot opt source destination DOCKER all -- 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCAL Chain DOCKER (2 references) target prot opt source destination DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8088 to:172.17.0.15:8088 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 to:172.17.0.15:443 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1038 to:172.17.0.15:22

新增映射端口

iptables -t nat -A DOCKER ! -i br0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 172.17.0.15:80

 

转载于:https://www.cnblogs.com/Javame/p/5673408.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值