如何解决Docker容器请求返回错误:读取ECONNRESET
我正在使用docker-compose启动两个容器:一个带有micronaut服务的容器,另一个带有postgres的容器。
这是我的docker-compose.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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。