【发布时间】:2020-06-15 02:59:18
【问题描述】:
正如标题所示,docker-compose 尝试构建 3.0 的 ASP.NET Core 映像而不是 3.1。
我最近使用这篇 Microsoft 文章中的说明从 3.0 更新了我的项目:https://docs.microsoft.com/en-us/aspnet/core/migration/30-to-31?view=aspnetcore-3.1&tabs=visual-studio 除了 global.json 部分,因为我不使用它。
这是我尝试过的:
这是我的 yaml 文件:
version: "3.7"
services:
hraapi:
build: .
environment:
- ASPNETCORE_ENVIRONMENT=Development
image: vmandeal/hra.api:testing
container_name: hra.api
ports:
- "5000:80"
depends_on:
- hradb
hradb:
image: "mcr.microsoft.com/mssql/server:2019-latest"
container_name: hra.api.db
ports:
- "1433:1433"
environment:
SA_PASSWORD: "YeyPass"
ACCEPT_EULA: "Y"
这是我的项目文件:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="7.0.0" />
<PackageReference Include="FluentValidation.AspNetCore" Version="8.5.1" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Abstractions" Version="3.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Analyzers" Version="3.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="3.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.1">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="3.1.1" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" />
<PackageReference Include="Steeltoe.Discovery.ClientCore" Version="2.4.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc4" />
</ItemGroup>
</Project>
【问题讨论】:
-
你的项目中应该有一个
Dockerfile。我猜是使用了错误的基础图片标签。 -
你更新你的
Dockerfile来使用asp.net core 3.1的图片了吗? -
是的,“来自 mcr.microsoft.com/dotnet/core/aspnet:3.0 WORKDIR /app COPY bin/Debug/netcoreapp3.0/publish 。”如此愚蠢。我完全忽略了它。谢谢 ChristophLütjen 和 Exploding Kitten。
标签: docker asp.net-core docker-compose