Docker 声纳扫描仪可以';找不到本地应用程序数据文件夹

Docker 声纳扫描仪可以';找不到本地应用程序数据文件夹,docker,.net-core,sonarqube,dockerfile,sonarqube-scan,Docker,.net Core,Sonarqube,Dockerfile,Sonarqube Scan,我正试图让Sonar Scanner使用mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1809图像作为dockerfile的一部分分析项目,但在尝试运行dotnet Sonar Scanner begin 未处理的异常。System.IO.IOException:找不到本地应用程序数据目录 我已使用以下powershell命令验证它要查找的文件夹是否存在于容器上: 运行pwsh-getchilditem$env:LOCALAPPDATA-Dir

我正试图让Sonar Scanner使用
mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1809
图像作为dockerfile的一部分分析项目,但在尝试运行
dotnet Sonar Scanner begin

未处理的异常。System.IO.IOException:找不到本地应用程序数据目录

我已使用以下powershell命令验证它要查找的文件夹是否存在于容器上:

运行pwsh-getchilditem$env:LOCALAPPDATA-Directory命令

不知道我错过了什么。下面是dockerfile的更完整的图片以及示例数据:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-nanoserver-1809 AS build
WORKDIR /app

ARG SONAR_PROJECT_KEY=example-project-key
ARG SONAR_OGRANIZAION_KEY=exapmle-org-key
ARG SONAR_HOST_URL=https://sonarcloud.io
ARG SONAR_TOKEN

# install java
COPY ./install-java.ps1 .
RUN pwsh install-java.ps1

RUN cmd ver

# Install Sonar Scanner
RUN dotnet tool install --tool-path msbuildscanner dotnet-sonarscanner
#ENV PATH="$PATH:/root/.dotnet/tools"

RUN pwsh -Command Get-ChildItem $env:LOCALAPPDATA -Directory

# Start Sonar Scanner
RUN msbuildscanner\dotnet-sonarscanner begin /k:"$SONAR_PROJECT_KEY" /o:"$SONAR_OGRANIZAION_KEY" /d:sonar.host.url="$SONAR_HOST_URL" /d:sonar.login="$SONAR_TOKEN" 

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

RUN msbuildscanner\dotnet-sonarscanner end /d:sonar.login="$SONAR_TOKEN"

#Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1.9-nanoserver-1809 AS runtime
WORKDIR /app
COPY --from=build /app/out .

ENTRYPOINT ["dotnet", "app.dll"]

我也遇到了这个问题。你运气好吗@Jerreck?不幸的是没有。由于时间限制,我最终放弃了这种方法,而是让声纳扫描在dockerfile外的管道中进行。这意味着我们的管道会构建两次应用程序代码——一次在管道中,一次在docker build中,但这对我们atm的性能影响不大。我想这也是我最终要做的。MS对这些基于2019年的图像所做的事情太荒谬了。。而要找到关于这些变化的文档充其量也很困难。你有过同样的经历吗?