“docker ps”在 C# 和 CMD 中不接受任何参数

问题描述 投票:0回答:1

在项目中,我想使用命令获取进度的输出

docker ps -a --format '{{json .}}'

但是过程错误

"docker ps" accepts no arguments

这是C#代码

 var startInfo = new ProcessStartInfo("docker")
        {
            UseShellExecute = false,
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            CreateNoWindow = true,
            Arguments = "ps -a --format '{{json .}}'",
            WorkingDirectory = workingDirectory
        };
        var process = Process.Start(startInfo);

终端中的命令运行正常。我像这样在 cmd 中进行测试

cmd /c "docker ps -a  --format '{{json .}}'"
它输出与 C# 相同的错误

那么如何解决呢?

谢谢。

c# docker cmd process
1个回答
0
投票

对于遇到同样问题的任何人,我找到了解决方案这里
拨打

bash
而不是直接拨打
docker

例如,调用
docker ps -a --format '{{json .}}'

 var startInfo = new ProcessStartInfo("bash")
        {
            UseShellExecute = false,
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            CreateNoWindow = true,
            Arguments = "-c \"docker ps -a --format '{{json .}}'\"",
            WorkingDirectory = workingDirectory
        };
        var process = Process.Start(startInfo);
© www.soinside.com 2019 - 2024. All rights reserved.