Библиотека 'libhostpolicy.so', необходимая для выполнения приложения, не найдена в '/ app /' docker-compose - PullRequest
0 голосов
/ 28 ноября 2018

Когда я хочу получить один из моих сервисов в docker-compose.yml, я получаю эту ошибку.

"Библиотека 'libhostpolicy.so', необходимая для запуска приложения, не найдена в '/ app /'"

Мой файл Docker равен

FROM microsoft/dotnet:2.1-sdk AS build

WORKDIR /app

COPY . .

RUN dotnet restore

RUN dotnet build --output /out/ --configuration Release

FROM microsoft/aspnetcore:2.0.0 

COPY --from=build /out /app/

WORKDIR /app  

ENTRYPOINT ["dotnet", "ProductCatalogApi.dll"]

Мой docker-compose.yml

version: "3.2"
networks:
   frontend: 
   backend:

services:
   catalog:
      build:
         context: .\src\Services\ProductCatalogApi
         dockerfile: Dockerfile
      image: shoes/catalog
      environment:
         - DatabaseServer=mssqlserver
         - DatabaseName=CatalogDb
         - DatabaseUser=sa
         - DatabaseUserPassword=ProductApi(!)
      container_name: catalogapi
      ports:
         - "8080:80"
      networks:
         - backend
         - frontend
      depends_on:
         - mssqlserver

   mssqlserver:
      image: "microsoft/mssql-server-linux:latest"
      ports:
         - "1445:1433"

      container_name: mssqlcontainer
      environment:
         - ACCEPT_EULA=Y
         - SA_PASSWORD=ProductApi(!)
      networks:
         - backend

Мой ProductCatalogApi.csproj похож на

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RootNamespace>ShoesOnContainers.Services.ProductCatalogApi</RootNamespace>
    <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
    <RuntimeFrameworkVersion>2.1.6</RuntimeFrameworkVersion>
    <PlatformTarget>AnyCPU</PlatformTarget>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.6" />
    <PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="2.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.4">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.6" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="4.0.1" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.1" />

  </ItemGroup>

</Project>

Как я уже сказал, когда я запускаю "docker-compose up catalogue", я получаю ошибкууказано в заголовке.Проблема может быть в версии ядра .net.

Но я не могу решить проблему.Кто-нибудь знает, почему это произошло?

У меня установлен dotnet sdk с версиями 2.1.403 и 2.1.500.

Кстати, когда я запускаю сборку docker-compose на powershell, этостроит без ошибок.

Заранее спасибо.

...