我正在使用docker C#应用程序,该应用程序登录到Azure容器注册表,然后对注册表中的某些文件执行docker pull和docker标签。我尝试使用Process执行带有对应于所需命令的参数的/ bin / bash文件,例如“ -c \” docker pull filename \“”,但是我得到了一个docker:命令。有没有一种方法可以在容器外部运行docker命令或其他更好的方法来执行此操作?
编辑:
这就是我所说的第一个命令docker login,在process.Start()之后,我得到/bin/bash: docker: command not found
:
var command = $"docker login {endpointBaseUri} -u {login} -p {password}";
Process process = new Process()
{
StartInfo = new ProcessStartInfo
{
FileName = "/bin/bash",
RedirectStandardOutput = true,
Arguments = $"-c \"{command}\"";
UseShellExecute = false,
CreateNoWindow = true,
}
};
process.Start();
string result = process.StandardOutput.ReadToEnd();
process.WaitForExit();