gpt4 book ai didi

docker - Docker : Drive has not been shared

转载 作者:行者123 更新时间:2023-12-04 00:55:15 31 4
gpt4 key购买 nike

当“dockerizing”一个 ASP.NET Core 3.1 MVC 应用程序时,我得到以下结果:

docker run -dt -v "C:\Users\admin\vsdbg\vs2017u5:/remote_debugger:rw" -v "D:\xxx\yyy\Spikes\DockerizedWebApp1\DockerizedWebApp1:/app" -v "D:\xxx\yyy\Spikes\DockerizedWebApp1:/src/" -v "C:\Users\admin\.nuget\packages\:/root/.nuget/fallbackpackages2" -v "C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages" -e "DOTNET_USE_POLLING_FILE_WATCHER=1" -e "ASPNETCORE_LOGGING__CONSOLE__DISABLECOLORS=true" -e "ASPNETCORE_ENVIRONMENT=Development" -e "NUGET_PACKAGES=/root/.nuget/fallbackpackages2" -e "NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages;/root/.nuget/fallbackpackages2" -P --name DockerizedWebApp1 --entrypoint tail dockerizedwebapp1:dev -f /dev/null
docker: Error response from daemon: status code not OK but 500: {"Message":"Unhandled exception: Drive has not been shared"}.
See 'docker run --help'.
C:\Users\admin\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.10.6\build\Container.targets(198,5): error CTC1015: Docker command failed with exit code 125.
C:\Users\admin\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.10.6\build\Container.targets(198,5): error CTC1015: docker: Error response from daemon: status code not OK but 500: {"Message":"Unhandled exception: Drive has not been shared"}.
C:\Users\admin\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.10.6\build\Container.targets(198,5): error CTC1015: See 'docker run --help'.
C:\Users\admin\.nuget\packages\microsoft.visualstudio.azure.containers.tools.targets\1.10.6\build\Container.targets(198,5): error CTC1015: If the error persists, try restarting Docker Desktop.

不用说'docker run --help' 根本对没有帮助(在Docker文档中缺少链接/ anchor 等)。

一些其他信息:
  • 应用程序是VS2019支架的应用程序,无需进行任何修改
  • Docker镜像是Linux(,我无法告诉它)。
  • Docker版本为 19.03.5,内部版本633a0ea

  • 由于我对Linux不熟悉,所以这个错误对我来说就像是一个“表演停止者”。也许未指示Linux安装驱动器?但是哪一个呢?该消息没有说出来...

    Windows可能必须共享驱动器,或将文件夹映射到需要共享的驱动器?消息中也没有这样说...

    这是Docker仪表板的屏幕截图:

    enter image description here

    这是Dockerfile:
    #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

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

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

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

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

    任何帮助将非常感激。提前致谢!

    最佳答案

    docker run命令包括来自C驱动器的卷,例如-v "C:\Users\admin\vsdbg\vs2017u5:/remote_debugger:rw"。为了使它们起作用,您需要在共享驱动器中包括C驱动器(选中设置->资源->文件共享下的框)。您也可以将要共享的文件移动到已经共享给嵌入式VM的D驱动器,尽管在这种情况下这可能不是一种选择。要知道要共享哪些驱动器,请在run命令中检查卷装载中使用的驱动器。

    在Windows的早期docker版本中,此操作将默默地成功并将空文件夹安装到容器中。因此,错误提示用户首先检查共享驱动器是一个很好的改进。

    关于docker - Docker : Drive has not been shared,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59942110/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com