docker-machine命令来自C#
有没有另外一种方法来执行C#中的docker-machine
命令。 目前我正在做的方式是:
- 开始一个
Process
- 该
Process
启动"C:\Program Files\Git\bin\bash.exe"
- 将
docker-machine inspect default
命令作为ProcessStartInfo
parameter passing
这是我目前正在使用的代码,目前仍然不知道如何检索从docker-machine inspect default
命令的返回JSON,但我猜我可以从process.StandardOutput
检索它process.StandardOutput
stream。
ProcessStartInfo psi = new ProcessStartInfo(); psi.WindowStyle = ProcessWindowStyle.Normal; psi.FileName = @"C:\Program Files\Git\bin\bash.exe"; psi.WorkingDirectory = @"C:\Program Files\Docker Toolbox"; psi.Arguments = @"--login -i ""C:\Program Files\Docker Toolbox\start.sh"" docker-machine inspect default"; psi.UseShellExecute = false; psi.RedirectStandardOutput = true; Process process = Process.Start(psi);
正如你所看到的,这是非常繁琐的,例如,如果我不得不做另外几个docker-machine
命令。
我也在看Docker Remote API,但是我似乎没有看到与Docker Machine交互的端点。
更新:
我用这种方式执行命令时遇到的一个问题是,有时这些命令不能正确计算。 例如, eval $(docker-machine env default)
在Docker Toolbox上执行,但不在代码上。