C# Rest API dockerization 后丢失文件

问题描述 投票:0回答:1

我正在用 swagger 构建一个 Rest api。我像这样对项目进行 dockerize:

FROM mcr.microsoft.com/dotnet/aspnet:7.0-alpine AS final
RUN apk add --no-cache icu-libs && \
apk add --no-cache tzdata
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false
WORKDIR /app
COPY ./TestProject.API/bin/publish .    
ENTRYPOINT ["dotnet", "TestProject.API.dll"]

但现在我向主 TestProject.API 项目添加了一个 Resscources,其中包含文件。 这些文件不会复制到我的迪克图像中。 我做了很多尝试才发现图像内部到底是什么。似乎资源文件夹就在那里,但里面没有文件。

RUN ls -la /app/Resscources/

这没有给出任何结果。但这样称呼:

[HttpPut]
[Route("TESTSTUFF")]
public IActionResult TESTSTUFF()
{
    var result1 = Directory.GetDirectories(Directory.GetCurrentDirectory());
    var result2 = Directory.GetDirectories("/app/Resscources");

    return Ok(resul1, result2);
}

result1 返回包括资源文件夹在内的所有目录 result2 没有返回任何内容。

当我尝试时

COPY /app/Resscources/ /app/Resscources/

dockerize 进程失败,因为没有找到任何内容。我不明白

c# docker image file copy
1个回答
0
投票

您的资源文件属性

copy to output directory
应该已设置。 更多信息可以在这里找到

© www.soinside.com 2019 - 2024. All rights reserved.