tma*_*rst 8 docker .net-core dockerfile nano-server github-actions-self-hosted-runners
构建我的 Windows dockerfile (.net core nano) 时...
docker build -f *** -t ***:*** --build-arg ARG1=foo --build-arg ARG2=bar .
我在构建过程中收到一个错误,该错误是响应我的第一个RUN命令而发生的。该命令将失败并显示以下消息:
ERROR: failed to solve: process "cmd /S /C dotnet restore \"myproject.csproj\"" did not complete successfully: unable to find user ContainerUser: invalid argument
就我而言,这是一个dotnet restore命令,但任何RUN语句都会导致:
unable to find user ContainerUser: invalid argument
请注意,Windows Nanoserver 容器的默认用户是ContainerUser。如果我指定另一个用户,例如。USER ContainerAdministrator在该语句之前RUN,该用户也会发生相同的故障 ( unable to find user ContainerAdministrator: invalid argument)。
Dockerfile 片段:
FROM mcr.microsoft.com/dotnet/sdk:7.0-nanoserver-1809 AS build
WORKDIR /src
COPY ["myproject.csproj", "myproject/"]
RUN dotnet restore "myproject/myproject.csproj" <--- Error thrown here (user not found)
Run Code Online (Sandbox Code Playgroud)
需要注意的是,只有在自托管 Windows 运行程序上从 github 操作工作流程运行时才会发生这种情况。Dockerfile在其他环境构建没有问题,已经部署成功。但是我无法访问跑步者,所以我试图从远处排除故障。
关于什么会导致用户在容器中找不到的任何想法?我很难找到与此相关的任何文档。谢谢
小智 3
我遇到了同样的问题,直到我删除了FROM 语句的nanoserver部分
尝试:
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
Run Code Online (Sandbox Code Playgroud)
而不是:
FROM mcr.microsoft.com/dotnet/sdk:7.0-nanoserver-1809 AS build
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1862 次 |
| 最近记录: |