DOTNET核心发展搬运工

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

我试图建立与码头工人一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

编辑:

这里有没有涉及泊坞窗文件。我想直接在源上使用DOTNET手表运行。我并不想建立DLL,然后在容器中运行它。

docker asp.net-core .net-core
2个回答
0
投票

那么你可以说你的搬运工文件中的端口号,我已经有一个箭头下面泊坞窗图像文件中强调

# 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"]

0
投票

环境变量ASPNETCORE_URLS的值决定哪一个端口用于HTTP监听器绑定。此变量可以使用壳或内联用的dotnet运行进行设置:

ASPNETCORE_URLS=http://+8080 \
dotnet run

如在DOCS here描述的另一种技术,以通过使用launchSettings.json定义的URL,而本地开发是

例如,从文档:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:54339/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_My_Environment": "1",
        "ASPNETCORE_DETAILEDERRORS": "1",
        "ASPNETCORE_ENVIRONMENT": "Staging"
      }
    },
    "EnvironmentsSample": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Staging"
      },
      "applicationUrl": "http://localhost:54340/"
    },
    "Kestrel Staging": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_My_Environment": "1",
        "ASPNETCORE_DETAILEDERRORS": "1",
        "ASPNETCORE_ENVIRONMENT": "Staging"
      },
      "applicationUrl": "http://localhost:51997/"
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.