docker - Docker中的Dotnet Core开发

标签 docker asp.net-core .net-core

我正在尝试使用docker设置一个dotnet核心开发环境。我指的是以下指南来进行设置。 LINK

docker run --rm -it -p 8000:80 -v c:\git\dotnet-docker\samples\aspnetapp:/app/ -w /app/aspnetapp microsoft/dotnet:2.1-sdk dotnet watch run

该示例项目在端口80上运行。这里没有问题。

但是,当我使用dotnet cli搭建项目时,应用程序将在容器内部的端口5000、5001而不是80上运行。
dotnet new webapi

是什么使示例应用程序在端口80上运行?我比较了以下文件,但在这里找不到任何帮助。
  • appsettings.Development.json
  • appsettings.json
  • aspnetapp.csproj
  • Program.cs
  • Startup.cs

  • 链接到GitHub以获取我的代码。 LINK

    命令我的项目
    docker run --rm -it -p 8000:80 -v c:\git\dotnet-docker-demo:/app/ -w /app microsoft/dotnet:2.1-sdk dotnet watch run
    

    编辑:

    这里没有涉及的docker文件。我正在尝试使用直接在源代码上运行的dotnet watch。我不想构建dll,然后在容器中运行它。

    最佳答案

    您可以在docker文件中提及端口号,在下面的docker镜像文件中用箭头突出显示了端口号

    # FROM microsoft/dotnet:2.0-sdk AS build
    FROM microsoft/dotnet:2.0-sdk
    WORKDIR /app
    
    # copy csproj and restore as distinct layers
    COPY *.sln .
    COPY TodoService/*.csproj ./TodoService/
    RUN dotnet restore
    
    # copy everything else and build app
    COPY TodoService/. ./TodoService/
    WORKDIR /app/TodoService
    RUN dotnet publish -o out /p:PublishWithAspNetCoreTargetManifest="false"
    
    
    # FROM microsoft/dotnet:2.0-runtime AS runtime
    FROM microsoft/dotnet:2.0-runtime
    ENV ASPNETCORE_URLS http://+:80  # <----------------
    WORKDIR /app
    COPY --from=0 /app/TodoService/out ./
    
    ENTRYPOINT ["dotnet", "TodoService.dll"]
    

    关于docker - Docker中的Dotnet Core开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733448/

    相关文章:

    docker - Gitlab CI-错误: Job failed: executor requires OSType=linux,,但Docker Engine仅支持OSType = windows

    docker - 跨GCP虚拟机共享数据的可能方式,这些虚拟机是docker swarm业务流程中的节点

    c# - System.DllNotFoundException : 'Unable to load DLL ' libwkhtmltox': The specified module could not be found.(HRESULT 异常:0x8007007E)'

    c# - 使用 .NET Core 进行 Hangfire 依赖注入(inject)

    c# - .NET Core - 为什么我应该使用 View 组件而不是集成在 MVC 应用程序或 Razor 页面中的 Blazor 组件

    c# - DllImport 在 Docker 上不起作用 - DllNotFoundException

    Docker - 在容器中运行 sql 文件

    angular - Angular 路由在nginx docker容器中不起作用

    c# - 如何在没有 Authorize 属性的 ASP Core 2 方法中获取用户声明?

    c# - 异步/等待示例