【发布时间】:2020-10-07 11:39:11
【问题描述】:
我正在使用 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
【问题讨论】:
-
web和db之间的连接有效吗? -
@Howaboutnope 我很确定它确实如此,因为早些时候我的网络无法启动,因为它无法连接到数据库,我设法解决了这个问题。
标签: docker docker-compose micronaut