docker 筆記--運行中的容器如何添加端口映射


解決:

iptables -t nat -A DOCKER -p tcp --dport ${YOURPORT_1} -j DNAT --to-destination ${CONTAINERIP}:${YOURPORT_2}

iptables -t nat -A POSTROUTING -j MASQUERADE -p tcp --source ${CONTAINERIP} --destination ${CONTAINERIP} --dport ${YOURPORT_2}

iptables -A DOCKER -j ACCEPT -p tcp --destination ${CONTAINERIP} --dport ${YOURPORT_2}
在安裝docker的宿主機執行上述三條命令

解釋:

${YOURPORT_1}      ----你要映射到宿主機的端口

${YOURPORT_2}      ----你要映射的端口,也就是容器里面的端口

 ${CONTAINERIP}     ----容器ip,通過docker inspect `container_name or container_id` | grep IPAddress 可以查看

例如:我docker安裝的hadoop集群

iptables -t nat -A DOCKER -p tcp --dport 50070 -j DNAT --to-destination 172.20.2.1:50070

iptables -t nat -A POSTROUTING -j MASQUERADE -p tcp --source 172.20.2.1 --destination 172.20.2.1 --dport 50070

iptables -A DOCKER -j ACCEPT -p tcp --destination 172.20.2.1 --dport 50070

如果想刪除,把-A換成-D就可以


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM