【问题标题】:How to pass Command Line Arguments to .NET Console App through docker run (Docker for Windows)如何通过 docker run (Docker for Windows) 将命令行参数传递给 .NET 控制台应用程序
【发布时间】:2020-06-23 15:32:58
【问题描述】:

我是 Docker 的新手,我想从 docker run 将参数传递给我的脚本。 我的 C# 代码如下所示:

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello: " + args[0]);
        }
    }

我的 Docker 文件如下:

FROM mcr.microsoft.com/dotnet/core/sdk:3.1 as build
WORKDIR /app

COPY MediumDemo.csproj .
RUN dotnet restore MediumDemo.csproj

COPY . .
RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/runtime:3.1 as runtime
WORKDIR /app
COPY --from=build /app/out ./

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

【问题讨论】:

标签: c# .net docker command-line docker-for-windows


【解决方案1】:

这是旧的,但对于任何可能正在查看它的人,您必须在 Dockerfile 中将 ENTRYPOINT 与 CMD 结合起来,如下所示:

ENTRYPOINT [ "dotnet", "Demo.dll" ]
CMD [ "arg0" ]

然后运行它:

docker run -it Demo myarg

你应该会看到你期望的输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多