如何连接两个Docker容器

时间:2020-05-05 15:58:32

标签: spring docker containers port grpc

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

我尝试发布两个容器的端口,但无济于事...我什至遇到错误,因为我尝试将两个容器映射到相同的端口,因为该应用程序在其运行的端口上连接到postgres默认为5432(我没有更改)。

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

预先感谢

2 个答案:

答案 0 :(得分:1)

使应用程序容器在端口5432上运行并将其暴露于任何端口,并使postgres容器在任何端口上运行并暴露5543端口

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

需要确保postgres在端口 yyy

的容器内运行

答案 1 :(得分:0)

快速解答:

你不能。

最好的方法是使两个容器都在主机网络(EmptyOutputBody)上运行,或者使一个容器在另一个容器网络(--net host)上运行。