具有LocalDB的Visual Studio 2017 Docker容器

时间:2018-08-23 20:59:03

标签: docker asp.net-core

我有一台运行Windows 10,Visual Studio 2017和Docker for Windows 18.06的开发PC。我有一个asp.net项目项目,已通过Visual Studio 2017使用Docker linux容器在本地进行调试,并且一切正常。现在,我将asp.net身份添加到项目中,当我注册一个新用户时,出现此错误:

  

PlatformNotSupportedException:不支持LocalDB   平台。

好的,我明白了,我不能在Linux容器中运行LocalDB。如果我将Docker切换为运行Windows容器,则会收到错误消息:

  

您的Docker服务器主机已配置为“ Windows”,但是您的   项目针对“ Linux”

这也很有意义。如何将我的项目切换为使用Windows容器?这是我的Dockerfile的样子:

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 50823
EXPOSE 44345

FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY ["TestProject/TestProject.csproj", "TestProject/"]
RUN dotnet restore "TestProject/TestProject.csproj"
COPY . .
WORKDIR "/src/TestProject"
RUN dotnet build "TestProject.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "TestProject.csproj" -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "TestProject.dll"]

在我的Container.targets文件中,更改了

`Condition="'$(DockerTargetOS)' == 'Linux'"` 

'Condition="'$(DockerTargetOS)' == 'Windows'"

如何将项目从linux容器切换到Windows容器,以便可以使用LocalDB?

0 个答案:

没有答案