我试图建立与码头工人一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上运行?我比较了以下文件,但在这里找不到任何帮助。
链接到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,然后在容器中运行它。
那么你可以说你的搬运工文件中的端口号,我已经有一个箭头下面泊坞窗图像文件中强调
# 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"]
环境变量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/"
}
}
}