首页 > 解决方案 > 如何在 docker 容器中为 CLI 添加一些内容?

问题描述

我想在传递给 docker 容器的 CLI 中添加一些内容。

我希望它像这样运行:

docker run -it mstools msbuild.exe --version

但是,为了在内部进行这项工作,我需要在 msbuild.exe 和单声道之前添加完整路径,如下所示:

mono /Microsoft.Build.Mono.Debug.14.1.0.0-prerelease/lib/msbuild.exe --version

当我将下面Dockerfile的命令与命令一起使用时,我得到了这个:

$ docker run -it mstools msbuild.exe --version
msbuild.exe: 1: msbuild.exe: [/usr/bin/mono,: not found

如果我跳入容器并检查路径:

$ docker run -it --entrypoint=bash mstools
root@eb47008f092e:/# which mono
/usr/bin/mono

我错过了什么??

Dockerfile:

FROM centeredge/nuget
ARG VERSION="14.1.0.0-prerelease"
RUN nuget install Microsoft.Build.Mono.Debug -Version $VERSION -Source "https://www.myget.org/F/dotnet-buildtools/"
ENV PATH="/Microsoft.Build.Mono.Debug.$VERSION/lib/:${PATH}"
ENTRYPOINT ['/usr/bin/mono', " /Microsoft.Build.Mono.Debug.$VERSION/lib/$1 $@"]

标签: dockermonodockerfile

解决方案



推荐阅读