docker desktop的容器间通信

docker desktop的网络设置

在 Docker 中,当勾选 "Enable host networking",并使用--net=host参数启动容器时:

  • 和宿主机通信 :容器可以直接使用宿主机的网络栈,这意味着容器和宿主机共享相同的网络命名空间。容器内监听的端口,会直接暴露在宿主机上,无需进行端口映射。比如容器内的服务监听在8080端口,在宿主机上可以直接通过localhost:8080访问该服务。
  • 不同容器间通信 :如果多个容器都使用了主机网络模式(--net=host),由于它们都共享宿主机的网络命名空间,那么可以通过localhost:端口 直接进行通信。 但如果只有部分容器使用主机网络模式,其他容器使用默认的桥接网络等模式,那么使用主机网络模式的容器和其他容器通信,就不能单纯通过localhost:端口了。因为不同网络模式下容器的网络环境不同,需要根据具体网络配置,比如桥接网络中容器有自己独立的 IP 地址,需要通过桥接网络内的 IP 和端口来通信 。

如果不勾选 "Enable host networking",默认情况下容器运行在桥接网络模式,容器有自己独立的网络命名空间,容器之间以及容器与宿主机之间通过 NAT(数据通信是需要经过网卡的)和端口映射来通信,此时不能直接通过localhost:端口(不经过网卡)在不同容器间通信。

需要通过ipconfig查看本机ip(或者wsl的ip),通过这个ip进行不同容器间的通信。

或者通过docker inspect查看容器ip addr,使用这个ip通信。

docker创建自定义网络

创建自定义网络

docker network create aichat-network

将所有的容器添加到网络中

docker network connect aichat-network neo4j

docker network connect aichat-network aichat

docker network connect aichat-network postgres

docker network connect aichat-network redis

docker network connect aichat-network ollama

查看容器是否添加到网络中

docker inspect aichat-network

如此设置,docker之间就可以通过 url: jdbc:postgresql://postgres:5432/ai容器名通信

相关推荐
神仙别闹5 小时前
基于 PHP + MySQL 图书库存管理系统
android·mysql·php
IT界的老黄牛5 小时前
MongoDB 主从切换排查实战:从 docker ps 到 jq,一套 SOP 定位死因
数据库·mongodb·docker
丑过三八线5 小时前
Systemd Cgroup 驱动详解
linux·ubuntu·容器
极客先躯5 小时前
高级java每日一道面试题-2026年02月04日-实战篇[Docker]-如何在容器之间共享数据?
java·运维·网络·docker·容器·自动化·高级面试题
程序猿小野5 小时前
在阿里云服务器上安装Docker部署后台项目
阿里云·docker·云计算
“码”力全开5 小时前
打破芯片与协议壁垒:基于 Docker+边缘计算 的企业级 AI 视频管理平台架构解析(附 GB28181/RTSP 统一接入与源码交付方案)
人工智能·docker·边缘计算
ai产品老杨5 小时前
【架构深评】基于 Docker 与 边缘计算,如何打通 GB28181/RTSP 与 X86/ARM 异构算力的企业级 AI 视频流网关?(附源码交付)
人工智能·docker·架构
2601_961845155 小时前
2026四级作文预测题|英语四级写作押题+提纲PDF
java·c语言·数据库·c++·python·pdf·php
AI服务老曹6 小时前
解耦异构算力与多协议混战:基于 Docker 容器化的国标 GB28181/RTSP 边缘计算 AI 视频管理平台架构设计与源码交付实践
人工智能·docker·边缘计算