我想从一个C++程序执行"docker run -it Image_name“。有什么方法可以做到这一点吗?
发布于 2019-07-30 05:44:15
尝试使用C++中的简单系统命令。
System("docker run -it Image_name")发布于 2019-07-30 05:49:12
我可以想出两种方法来实现这一点。
对于一种快捷的方法,您实际上可以从C++代码运行命令。使用C++运行命令似乎有几种方法,但如果您只想运行命令,system()函数似乎是一种简单的方法:
int main() {
system("docker run -it Image_name");
}切记,您需要确保PATH环境变量中包含docker可执行文件。你还需要考虑你想要支持什么操作系统,Linux中的系统调用可能与windows中的不同。要让系统调用正确,可能会很棘手。
对于另一种方法,直接使用docker引擎的API。docker命令将发送到此接口。您可以自己直接连接到此API,并以与docker run -it Image_name命令相同的方式调用此API。引擎应用编程接口在这里https://docs.docker.com/engine/api/v1.24/中记录。我相信API命令会启动docker run -it Image_name所称的"service"。
shell命令将是最简单的方法。引擎API方法需要更多的前期工作,但会产生更干净、更健壮的代码。正确的方法将取决于您的情况。
https://stackoverflow.com/questions/57261420
复制相似问题