首页 > 解决方案 > 如何连接两个 docker 容器

问题描述

我有一个运行 PostgreSQL 的 Docker 容器,它运行良好,因为我可以从 IntelliJ 连接到它。在另一个容器中,我有一个基于 GRPC 的应用程序,每次我尝试运行它时它都会立即崩溃,因为它需要连接到另一个容器中运行的 Postgres 数据库。

我已经尝试发布两个容器的端口,但没有任何帮助...我什至遇到错误,因为我试图将两个容器映射到相同的端口,因为应用程序连接到它运行的端口上的 postgres,该端口是 5432 by默认(我没有改变这个)。

我想知道您如何连接两个容器,以便我的应用程序可以访问数据库并测试 GRPC 请求。

提前致谢

标签: springdockercontainersportgrpc

解决方案


使app容器在5432端口上运行并将其暴露给任何端口并使postgres容器在任何端口上运行并暴露5432端口

docker run -p xxx:5432 yourapp
docker run -p 5432:yyy postgres 

需要确保 postgres 在yyy端口的容器内运行


推荐阅读