【问题标题】:Problems with docker api and web app containersdocker api 和 web 应用程序容器的问题
【发布时间】:2021-08-23 10:59:00
【问题描述】:

我正在使用包含 webapp 和 api 的 asp.net 核心创建解决方案。这两个项目都配置为在 docker 容器中运行。还有第三个容器,即数据库容器。我正在使用 MySQL。 我创建了 docker-compose ps ,显然一切看起来都很好,但我无法在浏览器中访问 API。浏览器只能访问 Web 应用程序。

我的连接字符串

Meu Dockerfile API

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
LABEL version="1.0.0" description="API Produto"
COPY dist /app
WORKDIR /app
EXPOSE 80/tcp
EXPOSE 445
ENTRYPOINT ["dotnet", "APIProduto.dll", "--environment=Development"]

Meu Dockerfile Web 应用程序

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
LABEL version="1.0.0" description="Web App Produto"
COPY dist /app
WORKDIR /app
EXPOSE 80/tcp
EXPOSE 444
ENTRYPOINT ["dotnet", "WebAppProduto.dll", "--environment=Development"]

Meu docker-compose

version: "3"

volumes:
    produtosdata:
    
networks:
    frontend:
    backend:
    dbhost:
    
services:
        mysql:
            image: "mysql:5.7"
            volumes:
             - produtosdata:/var/lib/mysql
             - ./MySql_Init:/docker-entrypoint-initdb.d
            networks:
             - dbhost
            environment:
             - MYSQL_ROOT_PASSWORD=senhaprodutos1257
             - bind-address=0.0.0.0
             
        apiproduto:
            build:
                context: ./APIProduto
                dockerfile: Dockerfile
            networks:
                - dbhost
                - backend
            ports:
                - 5002:80
            environment:
                - DBHOST=mysql
            depends_on:
                - mysql
                
        webappproduto:
            build:
                context: ./WebAppProduto
                dockerfile: Dockerfile
            networks:
                - backend
                - frontend
            ports:
                - 5001:80
            environment:
                - HOST=apiproduto
            depends_on:
                - apiproduto

谁能帮我找出问题所在?

【问题讨论】:

  • 我想知道你的 api 长什么样? API 端点。

标签: c# docker asp.net-core asp.net-core-mvc


【解决方案1】:

让我告诉你如何找到解决方案。

  1. 首先,您遇到 404 错误,因此您正在访问容器,但默认端点不在 localhost:5002。

  2. 例如,如果您正在访问您的 api,例如 http://localhost:5002/api/values 或 http://localhost:5002/weatherforcast,请尝试一下。

【讨论】:

    猜你喜欢
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 2016-06-26
    • 2021-02-19
    相关资源
    最近更新 更多