Docker容器请求返回错误:读取ECONNRESET



我正在使用docker compose启动两个容器:一个带有micronaut服务,另一个带有postgres。

这是我的码头组合。yml

version: "3.8"
services:
web:
image: "time"
container_name: "time"
build:
context: .
network: bridge
ports:
- "8081:8080"
depends_on:
- db
links:
- "db"
environment:
- PGHOST=db
- PGDATABASE=postgres
- PGUSER=postgres
db:
image: "postgres"
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: time

但是,当我试图向我的一个端点发送请求时,什么都没有发生,直到最终我得到一个错误:读取ECONNRESET

当然,当我在docker之外的PC上运行我的应用程序时,我可以很好地发送请求。我的设置有什么问题吗?

另一种设置很好,但我想知道如何让两个容器连接起来,就像我的第一个docker compose一样,并能够从我的主机访问它们。

version: "3.8"
services:
web:
image: "time"
container_name: "time"
build: .
depends_on:
- db
environment:
- PGHOST=db
- PGDATABASE=postgres
- PGUSER=postgres
network_mode: host
db:
image: "postgres"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: time
network_mode: host

我终于拿到了!

version: "3.8"
services:
web:
image: "time"
container_name: "time"
build: .
ports:
- "8080:8080"
depends_on:
- db
links:
- "db"
environment:
- PGHOST=db
- PGDATABASE=postgres
- PGUSER=postgres
network_mode: bridge
db:
image: "postgres"
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: time
network_mode: bridge

最新更新