如何在邮递员或浏览器上访问使用 docker compose 构建的 docker 容器?

问题描述 投票:0回答:1

我在端口 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,并安装了防病毒软件。即使我禁用防病毒软件,我也会得到相同的结果。非常感谢任何帮助。

docker-compose browser postman
1个回答
0
投票

将其添加到您的 Spring Boot application.properties 或 application.yml 中:

server.address=0.0.0.0
© www.soinside.com 2019 - 2024. All rights reserved.