我想从 C++ 程序执行“docker run -it Image_name”。有什么办法可以做到这一点?
问问题
997 次
2 回答
0
我可以想到两种方法可以实现这一目标。
对于一种快速而简单的方法,您实际上可以从您的 C++ 代码中运行命令。似乎有几种方法可以使用 C++ 运行命令,但如果您只想运行命令, system()函数似乎是一种简单的方法:
int main() {
system("docker run -it Image_name");
}
请记住,您需要确保docker
可执行文件在您的PATH
环境变量中。您还需要考虑要支持哪些操作系统,Linux 中的系统调用的行为可能与 Windows 中的不同。正确进行系统调用可能很棘手。
对于另一种方法,直接使用 docker 引擎的 API。docker
命令被发送到此 API。您可以自己直接连接到此 API,并以与docker run -it Image_name
命令相同的方式调用 API。引擎 API 记录在这里https://docs.docker.com/engine/api/v1.24/。我相信该docker run -it Image_name
命令会启动 API 所谓的“服务”。
shell 命令将是最简单的方法。引擎 API 方法会在前期花费更多的精力,但会产生更干净、更健壮的代码。正确的方法将取决于您的情况。
于 2019-07-29T21:49:12.410 回答
0
尝试使用来自 C++ 的简单系统命令。
System("docker run -it Image_name")
于 2019-07-29T21:44:15.050 回答