2

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

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']

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

E       docker.errors.NotFound: 404 Client Error: Not Found ("No such container: 2457e5a283e5cb4add4fdb36pb465437b21bb21f768be405fe40615e25442d6e

“docker inspect” cli 命令在实例停止时适用于实例,但我需要通过 python 来完成

有任何想法吗?

4

1 回答 1

0

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

pip uninstall docker-py
pip install docker

然后运行代码

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

现在它应该可以工作了

于 2017-08-02T17:51:43.927 回答