所有的Docker容器状态?

Docker状态列表在这里 。 但是,当我使用API​​列出泊坞窗容器时,状态显示为“自然”句子; 例如:

  • Exited (0) NN seconds ago
  • Up NN days
  • 等等…

我无法find所有状态的所有string输出的权威列表。 换句话说,我想parsingdocker API状态string。

Docker API容器状态的所有可能输出是什么?

这是我正在谈论的api 。

状态摘要生成的逻辑可以在Docker源代码中的container/states.go ,l中find。 41ff。 。 基本上,你会得到以下之一:

  • 最多1天(暂停)
  • 重新启动(123)1天前
  • 最多1天
  • 正在移除
  • 创build
  • 已退出(123)1天前
  • (空string)

为了得到一个机器可读的输出,我build议使用/containers/:id/json端点 ,它将返回如下的数据结构:

 "State": { "Dead": false, "Error": "", "ExitCode": 0, "FinishedAt": "0001-01-01T00:00:00Z", "OOMKilled": false, "Paused": false, "Pid": 2593, "Restarting": false, "Running": true, "StartedAt": "2015-12-26T19:22:38.616937722Z", "Status": "running" } 

我没有使用远程API,但我很确定你真正想要做的是获取所有容器的ID,然后使用/containers/(id)/json获取每个容器的State信息:

 ... "State": { "Error": "", "ExitCode": 9, "FinishedAt": "2015-01-06T15:47:32.080254511Z", "OOMKilled": false, "Paused": false, "Pid": 0, "Restarting": false, "Running": true, "StartedAt": "2015-01-06T15:47:32.072697474Z", "Status": "running" }, ... 

这样你就可以以更加标准的forms得到相同的数据。