Я бы хотел программно запустить несколько docker команд внутри процесса и записать стандартный вывод docker. Команды работают без проблем, но я не могу захватить стандартный вывод. Например, рассмотрим следующий код. Я хотел бы прочитать команду docker info, но все, что я получаю, это пустая строка. Есть ли у вас способ взаимодействия с docker таким образом? Спасибо
private static void VerifyDocker()
{
var processStartInfo = new ProcessStartInfo();
var messagesBuilder = new StringBuilder();
var arguments = "info --format '{{json .}}'";
using (var process = new Process())
{
processStartInfo.FileName = "docker";
processStartInfo.Arguments = arguments;
processStartInfo.CreateNoWindow = true;
processStartInfo.UseShellExecute = false;
processStartInfo.RedirectStandardOutput = true;
process.OutputDataReceived += (sender, e) => messagesBuilder.Append(e.Data);
process.StartInfo = processStartInfo;
process.Start();
process.BeginOutputReadLine();
process.WaitForExit();
process.CancelOutputRead();
var message = messagesBuilder.ToString();
}
}