最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker實現(xiàn)容器之間通信的多種方式

 更新時間:2025年06月20日 08:36:40   作者:思靜魚  
在 Docker 中,實現(xiàn)容器之間的通信有多種方式,核心在于網(wǎng)絡(luò)配置,下面我從 基礎(chǔ)原理、常見方式、最佳實踐、以及 docker-compose 方式 全面講解,需要的朋友可以參考下

一、Docker 容器間通信的本質(zhì)是什么?

容器之間通信依賴 Docker 網(wǎng)絡(luò)(Network),默認有幾種網(wǎng)絡(luò)類型:

類型描述
bridge默認網(wǎng)絡(luò),同一網(wǎng)橋內(nèi)容器可以通過容器名通信
host共享宿主機網(wǎng)絡(luò),無隔離(無端口映射)
none容器無網(wǎng)絡(luò),僅用于極端隔離場景
overlay用于 Docker Swarm 集群通信

二、常用容器通信方式

1. **橋接網(wǎng)絡(luò)(默認)**下的通信

方法一:通過容器名稱訪問

默認容器在 bridge 網(wǎng)絡(luò)中可以通過 名稱解析容器名 → IP 進行通信:

docker network create mynet
docker run -dit --name container-a --network mynet alpine sh
docker run -dit --name container-b --network mynet alpine sh

然后進入 container-b,ping container-a 即可:

ping container-a

可用于微服務(wù)中服務(wù)間調(diào)用,如:

http://container-a:8080/api/...

方法二:共享同一網(wǎng)絡(luò)(如 docker-compose 自動創(chuàng)建)

version: '3'
services:
  web:
    image: nginx
  app:
    image: my-java-app
    depends_on:
      - web
  • web 的容器名稱就是 web
  • app 中可通過 web:80 與其通信,無需指定 IP

2. host 網(wǎng)絡(luò)模式下通信

容器共享宿主機網(wǎng)絡(luò),無端口映射限制,適合需要 UDP、低延遲通信:

docker run --network host my-app

注意:

  • 所有容器共享端口空間,避免端口沖突
  • 容器可以通過 localhost 訪問宿主其他服務(wù)

3. 端口 暴露 + 宿主機 IP 通信(最通用但低效)

每個容器通過 -p 映射端口 暴露到宿主機:

docker run -p 8080:8080 --name web my-web
docker run -p 8081:8081 --name app my-app

此時容器間不能直接通信,只能通過宿主 IP 和端口:

curl http://host-ip:8080/

三、Docker 網(wǎng)絡(luò)命令速查

命令說明
docker network ls查看所有網(wǎng)絡(luò)
docker network inspect mynet查看某網(wǎng)絡(luò)下容器信息(IP等)
docker network create mynet創(chuàng)建自定義網(wǎng)絡(luò)
docker network connect把容器加入到一個網(wǎng)絡(luò)
docker network disconnect移除容器的網(wǎng)絡(luò)連接

四、docker-compose 中容器通信最佳實踐

version: '3'
services:
  mysql:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: 123456
  app:
    image: my-java-app
    depends_on:
      - mysql
    environment:
      DB_HOST: mysql
  • app 可以用 mysql:3306 與數(shù)據(jù)庫通信
  • 不用寫 IP,容器名即服務(wù)名,Compose 默認建立 bridge 網(wǎng)絡(luò)

五、最佳實踐小結(jié)

場景推薦方案
同機通信自定義 bridge 網(wǎng)絡(luò),容器名互通
簡化開發(fā)用 docker-compose 管理服務(wù)
性能要求高使用 --network host
集群通信使用 overlay 網(wǎng)絡(luò)(Docker Swarm)

補充:容器 DNS 是怎么解析的?

Docker 默認為每個網(wǎng)絡(luò)分配一個 DNS 服務(wù),容器名在網(wǎng)絡(luò)中解析為容器 IP:

# 容器內(nèi)
nslookup web

你會看到:web 自動解析成 IP 地址。

總結(jié)

通信方式說明與特點
通過容器名通信推薦,自定義網(wǎng)絡(luò)或 docker-compose 默認支持
宿主機 IP + 映射端口最通用但性能差
host 網(wǎng)絡(luò)通信高性能但需管理端口沖突
overlay 網(wǎng)絡(luò)通信多主機通信(Swarm/集群用)

以上就是Docker實現(xiàn)容器之間通信的多種方式的詳細內(nèi)容,更多關(guān)于Docker容器間通信的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 使用 Docker 在 Ubuntu 上部署 FTP 服務(wù)器的步驟

    使用 Docker 在 Ubuntu 上部署 FTP 服務(wù)器

    本文詳細介紹了如何在Ubuntu系統(tǒng)上通過Docker部署FTP服務(wù)器的步驟,包括安裝Docker、拉取vsftpd鏡像以及運行FTP容器等,通過這些步驟,用戶可以在提供的免費云服務(wù)器上快速搭建起一個安全高效的FTP服務(wù),適合小型項目或個人使用,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • docker容器因報錯無法啟動問題的檢查及修復(fù)容器錯誤并重啟

    docker容器因報錯無法啟動問題的檢查及修復(fù)容器錯誤并重啟

    隨著容器技術(shù)的發(fā)展,現(xiàn)在很多的應(yīng)用程序系統(tǒng)都會選擇使用docker容器進行部署,下面這篇文章主要給大家介紹了關(guān)于docker容器因報錯無法啟動問題的檢查及修復(fù)容器錯誤并重啟的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • docker容器分配固定ip的實現(xiàn)示例

    docker容器分配固定ip的實現(xiàn)示例

    如果不固定ip,每次主機重啟后,docker會動態(tài)給容器分配ip,導(dǎo)致redis容器的IP自動換了 ,然后還得去改配置就很煩,本文主要介紹了docker容器分配固定ip的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • 簡簡單單使用Docker部署Confluence

    簡簡單單使用Docker部署Confluence

    本文使用的環(huán)境是docker17版本,重點給大家講解使用Docker部署Confluence的問題,本文給大家介紹的很好對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-06-06
  • docker?build運行報錯source:?not?found解決分析

    docker?build運行報錯source:?not?found解決分析

    這篇文章主要為大家介紹了docker?build運行報錯source:?not?found解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • docker安裝并使用 ollama的步驟

    docker安裝并使用 ollama的步驟

    文章介紹了如何通過Docker安裝并使用Ollama,包括CPU和GPU啟動方式,以及如何進入容器、通過API進行單輪和多輪對話,感興趣的朋友跟隨小編一起看看吧
    2026-03-03
  • docker常用命令及設(shè)置開機自啟方式

    docker常用命令及設(shè)置開機自啟方式

    這篇文章主要介紹了docker常用命令及設(shè)置開機自啟方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 使用Docker搭建私有GitLab的兩種方案

    使用Docker搭建私有GitLab的兩種方案

    本文給大家分享兩種Docker搭建私有GitLab的方法,本文給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • Docker容器從鏡像恢復(fù)代碼的操作步驟

    Docker容器從鏡像恢復(fù)代碼的操作步驟

    這篇文章主要介紹了Docker容器從鏡像恢復(fù)代碼的操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Docker獲取鏡像報錯docker: Error response from daemon

    Docker獲取鏡像報錯docker: Error response from daemon

    這篇文章主要介紹了Docker獲取鏡像報錯docker: Error response from daemon, 出現(xiàn)了鏡像獲取報錯的問題,找到了解決的方法記一下,需要的朋友可以參考下
    2018-08-08

最新評論

苍南县| 禹州市| 无为县| 灵台县| 英德市| 东兴市| 勐海县| 洛南县| 昭苏县| 伊宁县| 两当县| 平遥县| 昌平区| 商南县| 乃东县| 施秉县| 昌乐县| 兴国县| 漠河县| 博乐市| 玉门市| 曲阜市| 太仆寺旗| 四子王旗| 昂仁县| 都昌县| 杂多县| 安塞县| 崇阳县| 二连浩特市| 轮台县| 清镇市| 乌拉特后旗| 浪卡子县| 随州市| 宁城县| 大渡口区| 通州市| 廉江市| 民丰县| 太仓市|