Docker的六種網絡模式(詳解)

文章目錄

    • 1. bridge(默認)
    • 2. host
    • 3. none
    • 4. container
    • 5. overlay
    • 6. macvlan
    • 7. 總結對比

Docker 六種網絡模式是容器網絡的基礎概念,不同模式決定容器與宿主機、外部網絡、其他容器之間的通信方式。

1. bridge(默認)

Bridge模式:容器界的"小區共享Wi-Fi"。

容器連接到 docker0 網橋,通過 NAT 方式與外部通信。

在這里插入圖片描述
當你運行docker run nginx時,Docker默認會把容器接入這個"小區共享網絡"。所有容器通過docker0虛擬網橋互相串門,就像住戶共享路由器——容器172.17.0.2想訪問172.17.0.3?直接喊名字就行(容器名DNS解析)。但要從外網訪問,得通過-p 8080:80這種"快遞柜"(端口映射),不然外賣員可找不到你家。

特點:

  • 每個容器有獨立 IP(172.17.x.x)。

  • 宿主機通過 docker0 轉發數據包。

  • 默認 docker run 就是這種模式。

為什么默認bridge模式下容器IP總變?

因為Docker像小區物業,每次重啟容器都可能換"門牌號"。解決辦法:docker network create my_bridge創建自定義網橋,穩定性堪比買產權房。

命令示例:


docker run -d --name web --network bridge nginx

2. host

容器直接使用宿主機的網絡棧,不再分配獨立的 IP。

性能狂魔的"裸奔"選擇

直接把宿主機的網絡棧"借"給容器用——沒有NAT轉發,沒有虛擬網卡,容器端口直接暴露在主機IP上。就像把家里電器直接接到市政電網,省電但危險:兩個容器都想用80端口?對不起,后啟動的直接"跳閘"(端口沖突)。

特點:

  • 網絡性能最好(無 NAT)。

  • 容器內服務端口與宿主機端口沖突。

  • 常用于需要高性能或與宿主機緊密耦合的服務。

命令示例:

docker run -d --network host nginx

3. none

容器有獨立的網絡命名空間,但不做任何網絡配置。

與世隔絕的"安全屋"

啟動容器時加–net=none,Docker會給它建個獨立網絡命名空間,但啥都不配置——沒有IP,沒有網關,只有一個孤零零的lo接口。就像把服務器關進法拉第籠,物理隔絕網絡攻擊。

手動配置網絡

特點:

  • 沒有網卡、IP、路由。

  • 只能通過 ip link 手動配置。

  • 常用于自定義網絡場景或安全隔離。

命令示例:

docker run -d --network none busybox sleep 3600

適合存放密鑰的容器,或者需要手動搭建VPN隧道的場景——安全到連自己都可能忘記怎么進去。

4. container

讓新容器與已存在的容器共享網絡命名空間。

容器界的"合租室友"

在這里插入圖片描述
讓新容器共享已有容器的網絡命名空間,相當于兩個室友共用一個WiFi賬號和IP。比如前端容器和后端容器共享網絡,前端直接用localhost:8080訪問后端,省掉端口映射的麻煩。

特點:

  • 共享 IP、端口、網絡棧。

  • 類似于在同一個“網絡空間”中運行多個進程。

命令示例:

docker run -d --name web1 nginx
docker run -d --network container:web1 busybox sleep 3600

5. overlay

用于跨宿主機的分布式網絡(Swarm/Kubernetes 常用)。

跨主機通信的"高鐵網絡"

在這里插入圖片描述
當容器分布在多臺主機時,Overlay網絡就是連接它們的"高鐵系統"。通過VXLAN隧道技術(默認4789端口),把不同主機的容器編織成一個虛擬局域網。Swarm集群會自動分配10.0.0.0/8網段,服務發現靠內置DNS,比傳統跨主機通信快30%。

特點:

基于 VXLAN 實現隧道,容器在不同宿主機也能互通。

常用于多機集群環境。

命令示例(需要 Swarm/K8s 集群支持):

docker network create -d overlay mynet
docker service create --name myweb --network mynet nginx

配置復雜度很高,需要集群管理經驗。

6. macvlan

讓容器像宿主機一樣直接擁有物理網絡的 MAC 地址和 IP。

在這里插入圖片描述
給容器分配真實MAC地址,讓它在物理網絡中"假裝"是臺物理機。交換機看到它會以為是新接入的服務器,直接通過MAC地址轉發數據,延遲低到可以忽略。

兩種姿勢:

  • VEPA模式:所有流量走物理網卡,適合需要交換機策略控制的場景
  • 橋接模式:直接連接物理網卡子接口,需交換機支持802.1Q VLAN

特點:

  • 容器直接暴露在物理網絡中(跟虛擬機類似)。

  • 無需 NAT,性能接近物理機。

  • 需要網絡環境支持(交換機允許混雜模式)。

命令示例:

docker network create -d macvlan \--subnet=192.168.1.0/24 \--gateway=192.168.1.1 \-o parent=eth0 mymacvlandocker run -d --network mymacvlan nginx

7. 總結對比

模式是否獨立 IP是否 NAT使用場景
bridge? 是? 有默認容器網絡,單機應用
host?否 ? 無高性能需求,端口復用限制
none? 否? 無手動配置網絡,安全隔離
container? 共享? 無多容器共享網絡棧
overlay?是? 有跨主機容器互通,集群
macvlan?是? 無容器直接暴露在物理網絡

在這里插入圖片描述


“人的一生會經歷很多痛苦,但回頭想想,都是傳奇”。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/96574.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/96574.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/96574.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微服務流量分發核心:Spring Cloud 負載均衡解析

目錄 理解負載均衡 負載均衡的實現方式 服務端負載均衡 客戶端負載均衡 Spring Cloud LoadBalancer快速上手 常見的負載均衡策略 自定義負載均衡策略 LoadBalancer 原理 理解負載均衡 在 Spring Cloud 微服務架構中,負載均衡(Load Balance&#…

鴻蒙異步處理從入門到實戰:Promise、async/await、并發池、超時重試全套攻略

摘要(介紹目前的背景和現狀) 在鴻蒙(HarmonyOS)里,網絡請求、文件操作、數據庫訪問這類 I/O 都是異步的。主流寫法跟前端類似:Promise、async/await、回調。想把 app 做得“流暢且不阻塞”,核心…

【html2img/pdf 純!純!python將html保存為圖片/pdf!!效果非常的棒!】

素材 a.png html card.html <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><title>固定樣式卡片</title><style>/* 基礎樣式和頁面居中 */body {font-family: "微軟雅黑", "P…

帶寬評估(三)lossbase_v2

一、優化方向 調整丟包恢復算法的參數:可以通過調整算法中的一些參數,如丟包恢復速率、丟包恢復閾值等,來優化算法的性能。 調整發送窗口大小:在固定丟包場景下,可以通過調整發送窗口大小來控制發送速率,從而減少丟包率。 a=fmtp:96 x-google-min-bitrate=300 二、Goo…

imx6ull-驅動開發篇29——Linux阻塞IO 實驗

目錄 實驗程序編寫 blockio.c blockioApp.c Makefile 文件 運行測試 在之前的文章里&#xff0c;Linux阻塞和非阻塞 IO&#xff08;上&#xff09;&#xff0c;我們學習了Linux應用程序了兩種操作方式&#xff1a;阻塞和非阻塞 IO。 在Linux 中斷實驗中&#xff0c;Linux…

97. 小明逛公園,Floyd 算法,127. 騎士的攻擊,A * 算法

97. 小明逛公園Floyd 算法dijkstra, bellman_ford 是求單個起點到單個終點的最短路徑&#xff0c;dijkstra無法解決負權邊的問題&#xff0c; bellman_ford解決了負權邊的問題&#xff0c;但二者都是基于單起點和單終點。而Floyd 算法旨在解決多個起點到多個終點的最短路徑問題…

?崩壞世界觀中的安全漏洞與哲學映射:從滲透測試視角解構虛擬秩序的脆弱性?

?崩壞世界觀&#xff1a;游戲中的世界&#xff0c;是真實&#xff0c;也是虛幻的&#xff01;對于游戲中的NPC角色而言&#xff0c;TA們生存的世界&#xff0c;是真實的&#xff01;對于游戲玩家而言&#xff0c;游戲中的世界&#xff0c;是虛擬的&#xff01;通過沉浸式的游戲…

【離線安裝】CentOS Linux 7 上離線部署Oracle 19c(已成功安裝2次)

1.部署參考鏈接&#xff1a; CentOS 7 rpm方式離線安裝 Oracle 19chttps://blog.csdn.net/Vampire_1122/article/details/123038137?fromshareblogdetail&sharetypeblogdetail&sharerId123038137&sharereferPC&sharesourceweixin_45806267&sharefromfrom…

小白向:Obsidian(Markdown語法學習)快速入門完全指南:從零開始構建你的第二大腦(免費好用的筆記軟件的知識管理系統)、黑曜石筆記

一、認識Obsidian&#xff1a;不只是筆記軟件的知識管理系統 1.1 什么是Obsidian Obsidian是一個基于本地存儲的知識管理系統&#xff0c;它將你的所有筆記以純文本Markdown格式保存在電腦本地。這個名字來源于黑曜石——一種火山熔巖快速冷卻形成的玻璃質巖石&#xff0c;象…

攻防世界—Confusion1—(模板注入ssti)

一.解題在login和register的頁面中發現這個文件路徑接下去就找有什么點可以利用二.ssti通過題目信息可知是一只蛇把一只大象纏繞起來了&#xff0c;蛇代表python&#xff0c;大象代表php這邊通過python可以推測可能是模板注入&#xff0c;這邊我看其他的解題是說通過看報文信息…

【Protues仿真】基于AT89C52單片機的超聲波測距

目錄 1 HCSR04超聲波測距傳感器 1.1 基本參數 1.2 引腳說明 1.3 工作原理&#xff08;時序圖&#xff09; 2 基于AT89C52單片機的超聲波測距電路原理圖 2.1 硬件連接說明 2.2 工作原理 3 基于AT89C52單片機的超聲波測距控制程序 3.1.1 初始化設置 3.1.2 超聲波測距原…

LLM - Agent核心架構:四大“身體”部件

文章目錄一、Agent核心架構&#xff1a;四大“身體”部件1. 核心大腦&#xff1a;大型語言模型&#xff08;LLM&#xff09;2. 記憶系統&#xff1a;短期與長期記憶3. 工具箱&#xff08;Toolkit&#xff09;&#xff1a;從“思想家”到“行動家”4. 驅動循環&#xff08;Engin…

html-docx-js 導出word

2025.08.23今天我學習了如何將html頁面內容導出到word中&#xff0c;并保持原有格式&#xff0c;效果如下&#xff1a;代碼如下&#xff1a;1&#xff1a;列表頁面按鈕<el-button type"warning" plain icon"el-icon-download" size"mini" cli…

Science Robotics 通過人機交互強化學習進行精確而靈巧的機器人操作

機器人操作仍然是機器人技術中最困難的挑戰之一&#xff0c;其方法范圍從基于經典模型的控制到現代模仿學習。盡管這些方法已經取得了實質性進展&#xff0c;但它們通常需要大量的手動設計&#xff0c;在性能方面存在困難&#xff0c;并且需要大規模數據收集。這些限制阻礙了它…

Dism++備份系統時報錯[句柄無效]的解決方法

當使用Dism進行系統備份時遇到“[句柄無效]”的錯誤&#xff0c;這通常是由于某些文件或目錄的句柄無法正確訪問或已被占用所導致。以下是一種有效的解決方法&#xff1a;一、查看日志文件定位日志文件&#xff1a;首先&#xff0c;打開Dism軟件所在的目錄&#xff0c;并找到其…

華為/思科/H3C/銳捷操作系統操作指南

好的,這是一份針對 華為(VRP)、思科(IOS/IOS-XE)、H3C(Comware)和銳捷(Ruijie OS) 這四大主流網絡設備廠商操作系統的對比操作指南。本指南將聚焦于它們的共性和特性,幫助你快速掌握多廠商設備的基本操作。 四大網絡廠商操作系統綜合操作指南 一、 核心概念與模式對…

一文讀懂 DNS:從域名解析到百度訪問全流程

目錄 前言 一、什么是 DNS&#xff1f;—— 互聯網的 “地址簿” 為什么需要 DNS&#xff1f; DNS 的核心參數 二、DNS 解析原理&#xff1a;遞歸與迭代的協作 1. 兩種核心查詢方式 2. 完整解析流程&#xff08;以www.baidu.com為例&#xff09; 緩存清理命令 三、DNS …

初試Docker Desktop工具

文章目錄1. 概述2. 下載3. 安裝4. 注冊5. 登錄6. 啟動7. 容器8. 運行容器8.1 運行容器的鏡像8.2 獲取示例應用8.3 驗證Dockerfile文件8.4 拉取Alpine精簡鏡像8.5 創建鏡像8.6 運行容器8.7 查看前端9. 訪問靜態資源9.1 本地靜態資源9.2 創建服務器腳本9.3 修改Dockerfile文件9.4…

百度披露Q2財報:營收327億,AI新業務收入首超百億

8月20日&#xff0c;百度發布2025年第二季度財報&#xff0c;顯示季度總營收327億元&#xff0c;百度核心營收263億元&#xff0c;歸屬百度核心凈利潤74億元&#xff0c;同比增長35%。受AI驅動&#xff0c;涵蓋智能云在內的AI新業務收入增長強勁&#xff0c;首次超過100億元&am…

【字母異位分組】

思路 核心思路&#xff1a;使用排序后的字符串作為鍵&#xff0c;將原始字符串分組 鍵的選擇&#xff1a;對于每個字符串&#xff0c;將其排序后得到標準形式作為鍵分組存儲&#xff1a;使用哈希表&#xff0c;鍵是排序后的字符串&#xff0c;值是對應的原始字符串列表結果構建…