同一宿主機(jī)內(nèi)不同docker間通訊的實(shí)現(xiàn)示例
推薦使用自定義Bridge網(wǎng)絡(luò),實(shí)現(xiàn)同一宿主機(jī)內(nèi)不同docker間通訊。自定義網(wǎng)絡(luò)會(huì)自動(dòng)維護(hù) “容器名→IP” 的映射(DNS 服務(wù)),容器可直接通過容器名通訊,無需手動(dòng)管理 IP,穩(wěn)定性最高。
1. 創(chuàng)建自定義網(wǎng)絡(luò)
執(zhí)行命令創(chuàng)建一個(gè)名為 my-network 的橋接網(wǎng)絡(luò)(驅(qū)動(dòng)為 bridge)
sudo docker network create --driver bridge my-network
2. 啟動(dòng)容器時(shí)加入自定義網(wǎng)絡(luò)
啟動(dòng)容器時(shí)通過 --network my-network 指定網(wǎng)絡(luò),同時(shí)可通過 --name 給容器起固定名稱(方便通訊)
# 打開一個(gè)終端,啟動(dòng)容器A(命名為app1) sudo docker run -it --name app1 --network my-network osrf/ros:noetic-desktop-full # 打開另一個(gè)終端,啟動(dòng)容器B(命名為app2) sudo docker run -it --name app2 --network my-network osrf/ros:noetic-desktop-full
3. 容器間通訊連接測試
進(jìn)入app2 容器,測試與app1(容器名)連接
# 如果顯示bash: ping: command not found時(shí)執(zhí)行 sudo apt-get update sudo apt-get install iputils-ping # 在 app2內(nèi)ping app1(驗(yàn)證連通性) ping app1 # 會(huì)解析到 app1 的容器IP
如下圖可見,可以正常ping通

4. 網(wǎng)絡(luò)連接操作
1. 查看網(wǎng)絡(luò)
sudo docker network ls
NAME 列顯示網(wǎng)絡(luò)名稱,自定義網(wǎng)絡(luò)通常是用戶指定的名稱(如 my-network)
DRIVER 列顯示網(wǎng)絡(luò)驅(qū)動(dòng)類型(自定義網(wǎng)絡(luò)常用 bridge)

2. 查看特定網(wǎng)絡(luò)的詳細(xì)信息
如果需要了解某個(gè)網(wǎng)絡(luò)的詳細(xì)配置(如關(guān)聯(lián)的容器、IP 網(wǎng)段等),使用 docker network inspect 命令:
sudo docker network inspect 網(wǎng)絡(luò)名稱或ID
輸出會(huì)包含網(wǎng)絡(luò)的 IP 配置、關(guān)聯(lián)的容器列表、創(chuàng)建時(shí)間等詳細(xì)信息:

3. 刪除自定義網(wǎng)絡(luò)
- 先斷開容器與網(wǎng)絡(luò)的連接(可選)。如果網(wǎng)絡(luò)中有關(guān)聯(lián)的容器,需先將容器從網(wǎng)絡(luò)中移除(容器可以繼續(xù)運(yùn)行):
sudo docker network disconnect 網(wǎng)絡(luò)名稱 容器名稱或ID
示例(將容器 app1 從 my-network 中移除):
sudo docker network disconnect my-network app1
- 刪除自定義網(wǎng)絡(luò)
sudo docker network rm 網(wǎng)絡(luò)名稱或ID
示例(刪除名為 my-network 的自定義網(wǎng)絡(luò)):
sudo docker network rm my-network
如果刪除成功,命令會(huì)返回被刪除的網(wǎng)絡(luò)名稱;如果失敗(如網(wǎng)絡(luò)中仍有關(guān)聯(lián)容器),會(huì)提示錯(cuò)誤信息。

到此這篇關(guān)于同一宿主機(jī)內(nèi)不同docker間通訊的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)同一宿主機(jī)docker間通訊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker創(chuàng)建并運(yùn)行一個(gè)MySql容器,并將宿主機(jī)直接掛載到容器
這篇文章主要介紹了docker創(chuàng)建并運(yùn)行一個(gè)MySql容器,并將宿主機(jī)直接掛載到容器問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
用Docker swarm快速部署Nebula Graph集群的教程
這篇文章主要介紹了用Docker swarm快速部署Nebula Graph集群的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Docker Registry倉庫加密傳輸與登錄認(rèn)證方式
本文詳細(xì)介紹了如何為Docker私有倉庫配置加密傳輸(TLS)和認(rèn)證功能,包括生成自簽名證書、配置客戶端證書、添加認(rèn)證文件和測試倉庫功能2025-12-12
Docker創(chuàng)建一個(gè)Nginx服務(wù)器的方法步驟
使用Dokcer可以很好的對(duì)鏡像進(jìn)行管理,創(chuàng)建和使用容器。這篇文章主要介紹了Docker創(chuàng)建一個(gè)Nginx服務(wù)器的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
Docker多階段鏡像構(gòu)建與緩存利用性能優(yōu)化實(shí)踐指南
這篇文章將從原理層面深入解析 Docker 多階段構(gòu)建與緩存機(jī)制,結(jié)合實(shí)際項(xiàng)目示例,說明如何有效利用構(gòu)建緩存,組織鏡像層次,最大化提升構(gòu)建速度并減少鏡像體積,感興趣的小伙伴可以了解下2025-09-09
docker搭建odoo16開發(fā)環(huán)境的實(shí)現(xiàn)
Odoo是全球流行的開源企業(yè)管理套件,本文主要介紹了docker搭建odoo16開發(fā)環(huán)境的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
vscode進(jìn)入服務(wù)器docker容器的方法
這篇文章主要介紹了vscode進(jìn)入服務(wù)器docker容器的方法,首先要確保已經(jīng)運(yùn)行docker容器,已經(jīng)用vscode鏈接服務(wù)器,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04

