Dockerized应用程序找不到文件系统映像

时间:2019-04-28 08:39:06

标签: c# docker docker-compose dockerfile

我已按照以下步骤操作:

1)创建一个没有Docker支持的新ASP.NET Core Web应用程序(MVC)。

2)在名为Application \ Image的解决方案内创建两个新文件夹(一个在另一个文件夹内)(应用程序与Controllers文件夹位于同一级别)。

3)在Image文件夹中添加一个名为TestImage.png的文件。

4)使用以下代码成功访问文件:

byte[] image = System.IO.File.ReadAllBytes("Application\\Image\\TestImage.png");

到目前为止的预期行为;这是有问题的位:

5)右键单击解决方案,然后选择:添加容器编排支持/ Docker Compose / Linux(目标操作系统)

6)运行项目(docker-compose是启动项目)。我收到一条错误消息:System.IO.IOException: 'Invalid argument'

我做了很多谷歌搜索,它告诉我必须配置Dockerfile才能将映像复制到容器。 Dockerfile当前如下所示:

FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY WebApplication1/WebApplication1.csproj WebApplication1/
RUN dotnet restore WebApplication1/WebApplication1.csproj
COPY . .
WORKDIR /src/WebApplication1
RUN dotnet build WebApplication1.csproj -c Release -o /app

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

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

我尝试添加此行(在此行下方:COPY WebApplication1/WebApplication1.csproj WebApplication1/):

COPY WebApplication1/Application/Image/TestImage.png WebApplication1/Application/Image/

但是,我看到了同样的错误。我现在正在使用Docker时如何获取该应用以读取图像?

0 个答案:

没有答案