docker容器的通訊——內部訪問外部


《容器訪問外部世界:》

 

原理:NAT地址轉換

 

 

 

1.物理機可以連接外網

2.docker run -it busybox

ip a

容器可以訪問外網

3.查看iptables策略,了解策略原理

iptables -t nat -s

 

-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE

收到來自這個網段的包,把它交給MASQUERADE,然后它將包的源地址替換成host主機的地址發送出去,就是做了一次網絡源地址轉換(NAT)

 

4.開啟一個終端運行,監控docker0網卡:

tcpdump -i docker0 -n icmp

 

5.在另一個終端:

進容器ping百度

docker run -it busybox

ping www.baidu.com

結果,發現容器的IP地址交給了MASQUERADE處理

 

 

 

6.結束上一個終端,運行監控物理機網卡

tcpdump -i ens33 -n icmp

發現已經將容器的地址進行轉換了,成了物理機的IP地址。

 

 

 


免責聲明!

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



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