如何将 dotnet 工具传递给 docker
How to pass dotnet tools in to a docker
我在 root 上使用:
dotnet tool install --global dotnet-sonarscanner --version 4.7.1
安装sonarscanner
它正在运行:
SonarScanner for MSBuild 4.7.1
Using the .NET Core version of the Scanner for MSBuild
WARNING: Please specify the command 'begin' or 'end' to indicate whether pre- or post-processing is required. These parameters will become mandatory in a later release.
Post-processing started.
但在 docker 中它不是:
root@3bea636a6418:/# dotnet sonarscanner
bash: dotnet: command not found
我试过了:
export PATH="$PATH:/root/.dotnet/tools"
但运气不好
ps。 ...以及所有因为 sonarscanner 在 docker:
上找不到 java
SonarScanner for MSBuild 5.2
Using the .NET Core version of the Scanner for MSBuild
Post-processing started.
Calling the SonarScanner CLI…
Could not find ‘java’ executable in JAVA_HOME or PATH.
The SonarScanner did not complete successfully
14:43:39.402 Post-processing failed. Exit code: 1
Cleaning up file based variables
ERROR: Job failed: exit code 1```
安装 dotnet 工具所需的所有依赖项,ldd
命令可以帮助您完成此操作,并确保也可以找到所需的所有软件,例如可以在 PATH
变量(如果需要)。
帮助您在 docker 容器上使用交互式 bash,如果可行,将其添加到您的 docker 文件中。
docker exec -it (container) bash
docker 图像通常只安装需要的东西,因此您只需将工具添加到 运行 您的软件即可成功。
- apt-get update
- apt-get install --yes openjdk-11-jre
已解决问题
ps。这不是那么明显,因为在 docker bash 中,当我 运行 java -version
我得到的答案是 java 已经安装
我在 root 上使用:
dotnet tool install --global dotnet-sonarscanner --version 4.7.1
安装sonarscanner
它正在运行:
SonarScanner for MSBuild 4.7.1
Using the .NET Core version of the Scanner for MSBuild
WARNING: Please specify the command 'begin' or 'end' to indicate whether pre- or post-processing is required. These parameters will become mandatory in a later release.
Post-processing started.
但在 docker 中它不是:
root@3bea636a6418:/# dotnet sonarscanner
bash: dotnet: command not found
我试过了:
export PATH="$PATH:/root/.dotnet/tools"
但运气不好
ps。 ...以及所有因为 sonarscanner 在 docker:
上找不到 javaSonarScanner for MSBuild 5.2
Using the .NET Core version of the Scanner for MSBuild
Post-processing started.
Calling the SonarScanner CLI…
Could not find ‘java’ executable in JAVA_HOME or PATH.
The SonarScanner did not complete successfully
14:43:39.402 Post-processing failed. Exit code: 1
Cleaning up file based variables
ERROR: Job failed: exit code 1```
安装 dotnet 工具所需的所有依赖项,ldd
命令可以帮助您完成此操作,并确保也可以找到所需的所有软件,例如可以在 PATH
变量(如果需要)。
帮助您在 docker 容器上使用交互式 bash,如果可行,将其添加到您的 docker 文件中。
docker exec -it (container) bash
docker 图像通常只安装需要的东西,因此您只需将工具添加到 运行 您的软件即可成功。
- apt-get update
- apt-get install --yes openjdk-11-jre
已解决问题
ps。这不是那么明显,因为在 docker bash 中,当我 运行 java -version
我得到的答案是 java 已经安装