我在端口 1993 上有一个 springboot 应用程序,由端口 5432 上的 postgresql 数据库支持。然后我使用 docker compose up 来构建和运行这两个映像。 Postgres 数据库已启动并正在运行。 springboot 应用程序也已启动并运行,因为它按预期在我的 docker Kafka 集群中创建了一个新主题。这意味着 docker 容器能够使用容器名称在 docker 内部相互通信。但我既无法使用容器名称、本地主机或容器的 IP 地址从邮递员访问 springboot 应用程序。我从邮递员那里得到
Error: socket hang up.
即使是显示简单“Hello”的 GET 方法也无法从浏览器访问。这是我的 docker 撰写文件。
`version: '3.1'
services:
agcu_registration_db:
container_name: agcu_registration_db
image: 'postgres:13.1-alpine'
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=agcu_registration_db
restart: unless-stopped
ports:
- "5432:5432"
volumes:
- ./postgres-data:/var/lib/postgresql/agcu_data
customer-registration:
container_name: customer-registration_c
image: customer-registration_i
build:
context: .
ports:
- '1993:8080'
extra_hosts:
- "host.docker.internal:host-gateway"
depends_on:
- agcu_registration_db
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://agcu_registration_db:5432/agcu_registration_db
- SPRING_DATASOURCE_USERNAME=postgres
- SPRING_DATASOURCE_PASSWORD=postgres
- SPRING_JPA_HIBERNATE_DDL_AUTO=update`
我正在使用 macOS Big Sur,并安装了防病毒软件。即使我禁用防病毒软件,我也会得到相同的结果。非常感谢任何帮助。
将其添加到您的 Spring Boot application.properties 或 application.yml 中:
server.address=0.0.0.0