我想从C ++程序执行“ docker run -it Image_name”。有什么办法可以做到这一点?
答案 0 :(得分:0)
尝试使用C ++的简单系统命令。
System("docker run -it Image_name")
答案 1 :(得分: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。 https://docs.docker.com/engine/api/v1.24/在此处记录了Engine API。我相信docker run -it Image_name
命令会启动API所谓的"service"。
shell命令将是最简单的方法。 Engine API方法将需要花费更多的精力,但是会导致代码更简洁,更健壮。正确的方法取决于您的情况。