【发布时间】:2016-04-01 16:05:45
【问题描述】:
Docker 文档非常适合描述您可以从命令行执行的操作。
它还对与远程 API 相关的命令进行了相当全面的描述。
然而,它似乎没有提供足够的上下文来使用远程 API 来执行使用命令行会执行的操作。
我所说的一个例子:假设你想做一个类似的命令:
docker run --rm=true -i -t -v /home/user/resources:/files -p 8080:8080 --name SomeService myImage_v3
使用远程 API。 Remote API 中有一个容器“运行”命令:
POST /containers/(id or name)/start
此命令引用了创建容器命令,以获取相当长的 JSON 字符串列表,您需要添加这些字符串才能执行实际启动。
这里的问题是:首先,仅仅调用这个命令是行不通的。显然还有更多事情要做(我猜你必须先创建,然后再开始)。其次,不清楚您需要使用哪些 JSON 字符串来执行我在命令行中显示的操作(例如设置端口、映射到外部目录等)。不仅远程 API 文档中提供的 JSON 字符串不 与命令行参数对齐(至少,不是以任何显而易见的方式!),而且还不清楚需要哪些 JSON 字符串用于创建(假设我们必须进行创建,但尚未建立!)并且是开始所必需的。
这只是与启动容器有关。假设你想停止并销毁一个容器,如下所示:
docker stop SomeService
docker rm SomeService
当然,在远程 API 中似乎有一对一的命令:
POST /containers/(id or name)/stop
POST /containers/(id or name)/kill
但您可以传递给它们的 ID 似乎与您列出容器或图像时显示的 ID 不对应。
我可以去哪里收集有关如何设置和使用将这些命令及其 JSON 参数与命令行中的命令和参数相关联的远程 API 命令的信息?
如果做不到这一点,谁能告诉我如何使用远程 API 来启动我在插图中展示的操作???
无论如何:是否有人从事 docker 开发工作,我可以将这些文档问题提交给我?我相信,这是他们文档中的一个大“漏洞”。
请高人指教……
【问题讨论】:
标签: api docker docker-api