.net core 无法加载共享库';libdl';在linux容器上运行的dotnet2.1中

.net core 无法加载共享库';libdl';在linux容器上运行的dotnet2.1中,.net-core,asp.net-core-2.0,system.drawing,.net Core,Asp.net Core 2.0,System.drawing,我有一个在Linux容器(Debian Stretch)上运行的dotnet2.1 api,用于处理图像,因此它引用了System.Drawing。在dockerfile中,我将安装本机依赖项作为最后一步: RUN apt-get update \ && apt-get install -y --allow-unauthenticated \ libc6-dev \ libgdiplus \ libx11-dev \

我有一个在Linux容器(Debian Stretch)上运行的dotnet2.1 api,用于处理图像,因此它引用了
System.Drawing
。在dockerfile中,我将安装本机依赖项作为最后一步:

RUN apt-get update \
    && apt-get install -y --allow-unauthenticated \
        libc6-dev \
        libgdiplus \
        libx11-dev \
     && rm -rf /var/lib/apt/lists/*
但在运行时,我得到:

无法加载共享库“libdl”或其依赖项之一

在容器上快速搜索会显示已安装的库:

find . -name "libdl*"
./lib/x86_64-linux-gnu/libdl-2.24.so
./lib/x86_64-linux-gnu/libdl.so.2
有关于如何解决此问题的提示吗

编辑:这是我的完整dockerfile内容

FROM docker.io/microsoft/dotnet:2.1.6-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

FROM docker.io/microsoft/dotnet:2.1.500-sdk AS build
WORKDIR /src
COPY . .
RUN dotnet restore "SomeProject.Api/SomeProject.Api.csproj"
COPY . .
WORKDIR /src/SomeProject.Api
RUN dotnet build "SomeProject.Api.csproj" -c Release -o /app/build
# run tests on docker build
RUN dotnet test

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

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

# soft link
RUN ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so

# install System.Drawing native dependencies
RUN apt-get update \
    && apt-get install -y --allow-unauthenticated \
        libc6-dev \
        libgdiplus \
        libx11-dev \
     && rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["dotnet", "SomeProject.Api.dll"]

你能分享Dockerfile吗?此外,这里有一个关于在Asp.net core中使用
system.Drawing
的示例,您可以检查它并尝试按如下方式修改代码:
运行apt get update\&apt get install-y——允许未经验证的\libgdiplus\\libc6 dev\\libx11 dev\&rm-rf/var/lib/apt/lists/*
。您好。谢谢你的回复。我已经添加了完整的dockerfile内容。似乎出于某种原因,apt get安装不起作用,因为如果我在container cli中手动运行它,它将安装一组软件,问题就消失了。但是,在映像生成过程中没有错误。尝试根据您的链接创建软链接,到目前为止没有成功:-(与您的问题无关,但您应该注意:。由于您的
FROM
说明引用的是Docker Hub注册表中的.NET图像标记,而不是Microsoft容器注册表中的.NET图像标记,因此这些标记的弃用会影响您。