docker容器網絡模式

docker網絡模式

  • 1.Nat ( network address translation) 橋接bridge模式 docker容器的默認模式
    網絡資源隔離
    無需手動配置
    可以訪問外網
    外界無法直接訪問容器ip
    低性能
    端口管理麻煩 (需要端口映射)
    容器訪問外界使用的是iptables的SNAT規則
    外界訪問容器使用的是DNAT規則
    ifconfig 其中docker0地址是docker容器的網關
    查看路由表 route -n
    使用端口映射纔會生iptables規則,查看iptables命令: iptables -t nat -L -n

  • 2.host
    共享宿主機網絡
    網絡環境無隔離
    網絡資源無法統計
    端口不易管理
    使用場景:就相當於在宿主機多跑了一個進程,比如跑了個apache nginx。
    –net=host

  • 3.other container
    容器A是nat模式,容器B使用容器A的網絡模式,容器a和容器b的ip和mac地址完全一樣。
    與宿主機網絡空間隔離
    容器間共享網絡空間
    使用場景:兩個容器網絡訪問特別頻繁
    –net=container:xxxxxx

  • 4.none
    無網絡配置,可自行配置
    –net=none

  • 5.overlay.
    多機網絡

其他

  1. 基於容器A,啓動container網絡模式的容器B: docker run -it --name xxx --net=container:容器A 鏡像名

  2. 次性刪除多個容器:docker rm -f $(docker ps -aq) 其中-q是返回所有容器id

  3. 網絡地址轉換NAT 實現私有ip和公網ip的轉換

  4. 防火牆iptables

  5. ping和telnet
    ping驗證ip的可達性
    telnet驗證服務的可用性

  6. 兩個容器之間的通信
    通過docker0鏈接到一起,每個容器和docker0都由一對veth進行鏈接

  7. 容器和互聯網的通信
    容器通過veth對鏈接到docker0,docker0通過NAT進行網絡地址轉換,進而訪問外網。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章