首页 > 解决方案 > Docker-Container 内的 dotnet restore 错误 - 权限被拒绝

问题描述

我使用本教程将我的 asp.net Core 应用程序放入 Docker 容器中

https://code.visualstudio.com/docs/containers/quickstart-aspnet-core

但是在容器内获得一个权限被拒绝:

10:39:02  /usr/share/dotnet/sdk/3.1.201/NuGet.targets(124,5): error : Access to the path '/src/obj' is denied. [/src/Lankoon.csproj]
10:39:02  /usr/share/dotnet/sdk/3.1.201/NuGet.targets(124,5): error :   Permission denied [/src/Lankoon.csproj]
10:39:02  The command '/bin/sh -c dotnet restore "./Lankoon.csproj"' returned a non-zero code: 1

我在 Windows10 机器和 Jenkins 构建服务器上尝试过,结果是一样的。

我不明白nuget正在运行哪个用户?

任何人都可以帮忙吗?

标签: docker.net-core

解决方案


将以下行添加到您的 dockerfile

USER root

我的容器内的问题是用户不是 root 用户,不幸的是 dotnet restore 需要 root 访问权限。


推荐阅读