使用inspect_container检查python上已停止的docker容器

时间:2017-08-02 14:52:02

标签: python docker containers inspect apiclient

我用python编写测试代码。 我想创建一个输出容器状态(运行/退出)的方法。

@durationInMinutes

此方法(get_status)在容器运行时有效 但是当容器停止时失败,并显示以下错误消息:

import docker

class Container:
    def __init__(self, name, image, *, command=[], links={}):
        self._docker = docker.DockerClient(base_url='unix://var/run/docker.sock')

    def get_status(self):
         inspection = self._docker.api.inspect_container(self.id)
         return inspection['State']['Status']

“docker inspect”cli命令在停止时对实例起作用,但是我需要通过python来实现

任何想法?

1 个答案:

答案 0 :(得分:0)

您使用的是docker-py的旧版本。在下面

pip uninstall docker-py
pip install docker

然后运行代码

import docker
client = docker.client.DockerClient()
container = client.containers.get("2457e5a283e5cb4add4fdb36pb465437b21bb21f768be405fe40615e25442d6e")

现在它应该工作