docker network 與host的區別

所以docker run的時候只需要加入指定的network,就會從該network自動分配對應的ip是嗎

是的,你的理解完全正確!

Docker 網絡自動分配 IP 機制

當你使用 docker run 命令并指定網絡時,Docker 會自動從該網絡的子網中分配一個 IP 地址給容器。

基本用法:

# 使用默認 bridge 網絡(自動分配 172.17.0.0/16 網段的 IP)
docker run --network=bridge your-image# 使用自定義網絡(自動分配該網絡子網內的 IP)
docker run --network=mynetwork your-image# 使用 host 網絡(不分配獨立 IP,直接使用宿主機網絡)
docker run --network=host your-image

示例演示:

  1. 創建自定義網絡
docker network create --subnet=192.168.100.0/24 mynetwork
  1. 運行容器
docker run -d --network=mynetwork --name container1 nginx
docker run -d --network=mynetwork --name container2 nginx
  1. 查看分配的 IP
docker inspect container1 | grep IPAddress
# 輸出可能是: "IPAddress": "192.168.100.2"docker inspect container2 | grep IPAddress
# 輸出可能是: "IPAddress": "192.168.100.3"

IP 分配規則:

  1. 自動分配:Docker 會從網絡的子網范圍內自動選擇可用的 IP
  2. 網關地址:通常網關地址(如 192.168.100.1)不會被分配給容器
  3. 順序分配:一般按順序分配,但不保證嚴格的順序
  4. 避免沖突:Docker 會確保不分配已被使用的 IP

驗證機制:

# 查看網絡中的所有容器和它們的 IP
docker network inspect mynetwork# 輸出會顯示類似:
"Containers": {"container1_id": {"IPv4Address": "192.168.100.2/24","IPv6Address": "","MacAddress": "02:42:c0:a8:64:02"},"container2_id": {"IPv4Address": "192.168.100.3/24", "IPv6Address": "","MacAddress": "02:42:c0:a8:64:03"}
}

注意事項:

  1. 網絡必須存在:指定的網絡需要預先創建
  2. IP 范圍限制:IP 地址只能在該網絡定義的子網范圍內
  3. 動態分配:除非使用 --ip 參數固定 IP,否則每次運行都可能獲得不同 IP

所以你的理解是對的:只需要指定網絡,Docker 就會自動處理 IP 分配。

如果制定host,docker就沒有獨立的ip對嗎

是的,完全正確!

Host 網絡模式的特點

當你使用 --network=host 參數時,Docker 容器不會獲得獨立的 IP 地址,而是直接使用宿主機的網絡命名空間。

對比說明:

1. Bridge 模式(默認)
docker run --network=bridge your-image
# 容器獲得獨立 IP,如 172.17.0.2
2. Host 模式
docker run --network=host your-image
# 容器直接使用宿主機網絡,沒有獨立 IP

Host 模式的特點:

  1. 共享網絡命名空間

    • 容器直接使用宿主機的網絡接口
    • 沒有網絡隔離
    • 沒有獨立的 IP 地址
  2. 端口直接映射

    • 容器內應用監聽的端口直接綁定到宿主機
    • 不需要 -p 端口映射參數
    • 端口沖突檢查在宿主機級別進行
  3. 網絡性能

    • 網絡性能最佳(無 NAT 開銷)
    • 延遲最低

實際效果:

# 使用 host 網絡運行容器
docker run -d --network=host --name myapp nginx# 容器內應用監聽 80 端口,直接在宿主機 80 端口可訪問
# 不需要 docker run -p 80:80 ...# 查看容器網絡信息
docker inspect myapp | grep IPAddress
# 輸出會是空或者顯示宿主機 IP

適用場景:

  1. 高性能網絡需求

    • 對網絡延遲敏感的應用
    • 需要大量網絡連接的應用
  2. 端口較多的服務

    • 避免復雜的端口映射配置
    • 動態端口分配的服務
  3. 網絡調試

    • 更容易進行網絡問題排查

注意事項:

  1. 端口沖突:容器端口直接占用宿主機端口
  2. 安全性降低:沒有網絡隔離
  3. 平臺限制:在 Docker Desktop for Mac/Windows 上行為可能不同

所以你的理解完全正確:使用 host 網絡模式時,容器沒有獨立的 IP 地址。

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

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

相關文章

GPT-5 現已上線 DigitalOcean Gradient? AI 平臺!

OpenAI 于 8 月 7 日發布其最新人工智能模型 GPT-5。根據 OpenAI 介紹,GPT-5 在編程、數學、寫作、視覺等方面的性能全面領先,幻覺更低,指令更準。新架構整合高速模型與深度推理,可實時切換速答或深思。近日,DigitalOc…

#C語言——學習攻略:自定義類型路線--結構體--結構體類型,結構體變量的創建和初始化,結構體內存對齊,結構體傳參,結構體實現位段

🌟菜鳥主頁:晨非辰的主頁 👀學習專欄:《C語言學習》 💪學習階段:C語言方向初學者 ?名言欣賞:“人理解迭代,神理解遞歸。” 目錄 1. 結構體類型 1.1 舊知識回顧 1.1.1 結構體聲…

機器學習——TF-IDF算法

TF-IDF(Term Frequency-Inverse Document Frequency)是一種廣泛應用于文本挖掘和信息檢索領域的經典加權算法,主要用于評估一個詞語在文檔集合中的重要程度。其核心思想是:一個詞語在文檔中出現的頻率越高,同時在所有文…

區塊鏈技術原理(9)-什么是以太幣

文章目錄前言什么是加密貨幣?什么是以太幣(ETH)鑄造 ETH燃燒 ETHETH 面額傳輸 ETH查詢 ETH以太幣的經濟模型:發行與流通以太幣與其他代幣的區別以太幣的歷史與市場地位總結前言 以太幣(Ether,簡稱 ETH&…

【Oracle APEX開發小技巧16】交互式網格操作內容根據是否啟用進行隱藏/展示

在日常開發中,有想要根據某一狀態或條件去限制/隱藏對應權限或操作按鈕的情況,于是用簡報模板列表進行展示,并提供以下功能:顯示模板基本信息提供啟用/禁用模板的開關提供編輯模板的入口根據模板狀態顯示不同的操作選項效果展示&a…

AIStarter:全網唯一跨平臺桌面AI管理工具,支持Windows、Mac和Linux一鍵部署

AIStarter作為全網唯一支持Windows、Mac和Linux的桌面AI管理平臺,為開發者提供高效的項目管理、模型插件和工作流共享體驗。最近,熊哥發布了4.1.0版本更新視頻,詳細演示了如何在多平臺上安裝、使用和分享AI項目。本文基于視頻內容&#xff0c…

AP模式/ESP32作為TCP服務端,轉發串口接收的數據給網絡調試助手

此代碼為接收STM32的數據然后直接轉發到網絡調試助手,當有設備連接到esp32軟件熱點時會通過串口發送字符’a’給STM32,當有設備斷開連接時會通過串口發送字符’b’,ESP32的TX:GPIO4, RX:GPIO5ESP32作為TCP服務器地址為192.168.4.1 監聽端口為3333#include <string.h> #in…

kafka 中的Broker 是什么?它在集群中起什么作用?

Kafka中的Broker&#xff1a;集群的核心支柱 在分布式消息系統Apache Kafka中&#xff0c;Broker是構成Kafka集群的核心節點或服務器。 簡單來說&#xff0c;每一個Broker就是運行著Kafka服務的一個實例&#xff0c;多臺Broker共同協作&#xff0c;形成了強大的、可擴展的消息處…

【SOA用于噪聲抑制】光纖DFB激光器中弛豫振蕩噪聲抑制

概述&#xff1a;本章記錄了我們在光纖分布式反饋DFB激光器中使用飽和SOA來降低RIN的工作&#xff0c;以用于低頻傳感器應用。結果表明&#xff0c;放大器的增益動力學允許光纖激光器的弛豫振蕩RO噪聲分量減少30dB。 1 背景到目前為止&#xff0c;我研究了將飽和半導體光放大器…

神經網絡的核心組件解析:從理論到實踐

神經網絡作為深度學習的核心技術&#xff0c;其復雜性常常令人望而卻步。然而&#xff0c;盡管神經網絡的結構、參數和計算過程看似繁瑣&#xff0c;但其核心組件卻是相對簡潔且易于理解的。本文將深入探討神經網絡的四大核心組件——層、模型、損失函數與優化器&#xff0c;并…

Spring Boot項目通過Feign調用三方接口的詳細教程

目錄 一、環境準備 二、啟用Feign客戶端 三、定義Feign客戶端接口 四、定義請求/響應DTO 五、調用Feign客戶端 六、高級配置 1. 添加請求頭&#xff08;如認證&#xff09; 2. 超時配置&#xff08;application.yml&#xff09; 3. 日志配置 七、錯誤處理 自定義錯誤…

ubuntu24.04安裝 bpftool 以及生成 vmlinux.h 文件

文章目錄前言一、apt安裝二、源碼安裝三、生成vmlinux.h參考資料前言 $ cat /etc/os-release PRETTY_NAME"Ubuntu 24.04.2 LTS"$ uname -r 6.14.0-27-generic一、apt安裝 安裝bpftool&#xff1a; $ sudo apt install linux-tools-commonThe following NEW packa…

Pytorch FSDP權重分片保存與合并

注&#xff1a;本文章方法只適用Pytorch FSDP1的模型&#xff0c;且切分策略為SHARDED_STATE_DICT場景。 在使用FSDP訓練模型時&#xff0c;為了節省顯存通常會把模型權重也進行切分&#xff0c;在保存權重時為了加速保存通常每個進程各自保存自己持有的部分權重&#xff0c;避…

IDEA自動生成Mapper、XML和實體文件

1. 引入插件 <build><finalName>demo</finalName><plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><depe…

單例模式的理解

目錄單例模式1.餓漢式(線程安全)2.懶漢式(通過synchronized修飾獲取實例的方法保證線程安全)3.雙重校驗鎖的方式實現單例模式4.靜態內部類方式實現單例模式【推薦】單例模式 1.餓漢式(線程安全) package 并發的例子.單例模式; // 餓漢式單例模式&#xff08;天然線程安全&…

NLP---IF-IDF案例分析

一案例 - 紅樓夢1首先準備語料庫http://www.dxsxs.com這個網址去下載2 任務一&#xff1a;拆分提取import os import redef split_hongloumeng():# 1. 配置路徑&#xff08;關鍵&#xff1a;根據實際文件位置修改&#xff09; # 腳本所在文件夾&#xff08;自動獲取&#xff0…

LaTeX(排版系統)Texlive(環境)Vscode(編輯器)環境配置與安裝

LaTeX、Texlive 和 Vscode 三者之間的關系&#xff0c;可以把它們理解成語言、工具鏈和編輯器的配合關系。 1.下載Texlive 華為鏡像網站下載 小編這邊下載的是texlive2025.iso最新版的&#xff0c;下載什么版本看自己需求&#xff0c;只要下載后綴未.iso的即可。為避免錯誤&am…

【深入淺出STM32(1)】 GPIO 深度解析:引腳特性、工作模式、速度選型及上下拉電阻詳解

GPIO 深度解析&#xff1a;引腳特性、工作模式、速度選型及上下拉電阻詳解一、GPIO概述二、GPIO的工作模式1、簡述&#xff08;1&#xff09;4種輸入模式&#xff08;2&#xff09;4種輸出模式&#xff08;3&#xff09;4種最大輸出速度2、引腳速度&#xff08;1&#xff09;輸…

第1節 大模型分布式推理基礎與技術體系

前言:為什么分布式推理是大模型時代的核心能力? 當我們談論大模型時,往往首先想到的是訓練階段的千億參數、千卡集群和數月的訓練周期。但對于商業落地而言,推理階段的技術挑戰可能比訓練更復雜。 2025年,某頭部AI公司推出的130B參數模型在單機推理時面臨兩個選擇:要么…

《軟件工程導論》實驗報告一 軟件工程文檔

目 錄 一、實驗目的 二、實驗環境 三、實驗內容與步驟 四、實驗心得 一、實驗目的 1. 理解軟件工程的基本概念&#xff0c;熟悉軟件&#xff0c;軟件生命周期&#xff0c;軟件生存周期過程和軟件生命周期各階段的定義和內容。 2. 了解軟件工程文檔的類別、內容及撰寫軟件工…