无法访问我的 Docker 容器中的 GraphQL

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

我正在尝试连接到 docker 容器中的 GraphQL API,但我无法在 Postman 或 Web 浏览器中访问它。

我的 dockerfile 和 docker compose 文件可能有问题,但我不确定是什么损坏了。

在我的 docker 映像文件中,我公开端口:

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app

EXPOSE 5000
EXPOSE 5001

在我的 docker-compose 文件中(由于另一个容器而包含网络):

version: '2'
networks:
  default:
    ipam:
      driver: default
services:
  app:
    image: graphql
    volumes:
       - ../:/https/
    env_file: 
       - ../env.secrets
    ports:
      - "5000:5000"
      - "5001:5001"
    networks:
      - default        
My appsettings.json file:
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Urls": "http://*;https://*"
}

如果我在 docker 外部运行我的应用程序并使用 postman,我可以毫无问题地访问我的 GraphQL 端点并执行查询: 'http://localhost:5000/graphql'

但是,当我在容器内运行它时,情况并非如此。我确定我的端口配置正确。

如果我运行 docker container ls 我会看到以下内容,看起来是正确的:

docker docker-compose graphql dockerfile
1个回答
0
投票

我在 Postman 中工作了。我相应地更改了端口:

5000-5001/tcp,0.0.0.0:5000->80/tcp

所以我的撰写文件中的端口映射更改为:

services:
  app5:
    image: graphql-app5-demo
    volumes:
       - ../:/https/
    env_file: 
       - ../env.secrets
    ports:
       - 5000:80
    networks:
      - default

我的邮递员端点 URL: “http://localhost:5000/graphql”

虽然我真的不想在这里使用端口80,而是使用与5000相同的端口。

© www.soinside.com 2019 - 2024. All rights reserved.