首页 > 解决方案 > 当我在 docker 上运行的 .net 项目中上传文件时删除 /app 路径

问题描述

嗨,我遇到了 docker 问题,我是新手,我试图在特定文件夹中上传文件,但是当我这样做时,即使我不使用它,docker 也会自动将“/app”添加到路径方向。我只是想知道我是否可以改变它,因为我真的不需要它。

var path = Path.Combine("D:/APPFilesManager/" + formfile.FileName.Trim().Replace(" ", "_"));

我保存文件的路径,但我收到此错误。

System.IO.DirectoryNotFoundException: Could not find a part of the path '/app/D:/APPFilesManager/01_MA641_S01_DC1_virtual.pptx'.

DockerFile

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic AS base
WORKDIR /app
EXPOSE 80

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-bionic AS build
WORKDIR /src
COPY ["Buscador.csproj", ""]
RUN dotnet restore "./Buscador.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "Buscador.csproj" -c Release -o /app/build

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

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

标签: .netdockerasp.net-core-3.1

解决方案


我已经修复了它,使用我要使用的文件夹的路径创建了一个卷,还创建了一个像这样的 docker-compose 文件。

version: "3.9"
services:
    web:
        build: .
        ports:
            - "8000:80"
        volumes:
            - D:\APPFilesManager:/test
volumes:
    test:

这允许我以这种方式在模式代码中使用它。

var path = "/test/" + formfile.FileName;


推荐阅读