Docker远程API与其命令行客户端之间的映射

Docker远程API与其命令行客户端之间的映射,api,docker,docker-api,Api,Docker,Docker Api,Docker文档非常擅长描述您可以从命令行执行的操作 它还对与远程API相关联的命令进行了相当全面的描述 但是,它似乎没有提供足够的上下文来使用远程API执行使用命令行可以执行的操作 我所说的一个例子:假设您想要执行如下命令: docker run --rm=true -i -t -v /home/user/resources:/files -p 8080:8080 --name SomeService myImage_v3 使用远程API。远程API中有一个容器“run”命令: POST

Docker文档非常擅长描述您可以从命令行执行的操作

它还对与远程API相关联的命令进行了相当全面的描述

但是,它似乎没有提供足够的上下文来使用远程API执行使用命令行可以执行的操作

我所说的一个例子:假设您想要执行如下命令:

docker run --rm=true -i -t -v /home/user/resources:/files -p 8080:8080 --name SomeService myImage_v3 
使用远程API。远程API中有一个容器“run”命令:

POST /containers/(id or name)/start
POST /containers/(id or name)/stop
POST /containers/(id or name)/kill
这个命令引用了createcontainer命令,用于相当长的JSON字符串列表,您需要添加这些字符串才能真正开始

这里的问题是:首先,仅仅调用这个命令不起作用。显然,你还需要做更多的事情(我猜你必须先创建,然后开始)。其次,不清楚需要使用哪些JSON字符串才能完成我在命令行中显示的任务(如设置端口、映射到外部目录等)。远程API文档中提供的JSON字符串不仅与命令行参数不一致(至少不明显!),而且不清楚创建需要哪些JSON字符串(假设我们必须创建,但尚未建立!),以及启动需要哪些JSON字符串

这只是与启动容器有关。假设要停止并销毁容器,如中所示:

docker stop SomeService
docker rm SomeService
当然,在远程API中似乎有一对一的命令用于执行此操作:

POST /containers/(id or name)/start
POST /containers/(id or name)/stop
POST /containers/(id or name)/kill
但是,您可以传递给它们的ID似乎与列出容器或图像时显示的ID不一致

是否有地方可以收集有关如何设置和使用远程API命令的信息,将这些命令及其JSON参数与命令行中的命令和参数关联起来

如果做不到这一点,有人能告诉我如何使用远程API开始我在插图中展示的吗

在任何情况下:是否有人从事docker开发,我可以将这些文档问题带到他那里?我认为,这是他们文档中的一个大“漏洞”


有人建议…

docker run
docker create
的组合,后面是
docker start
,所以后面是


如果以“交互”方式运行,则可能需要在此之后附加到容器

好的:所以我是对的,我需要做一个创建和运行。其他参数呢?在提出这个问题之前(我总是在提出问题之前进行研究),我已经研究了您链接到的页面,但仍然无法关联我在示例中提到的端口映射或目录映射。例如:如何使用远程API指定使用-t-v/home/user/resources:/files运行???