使用inspect_container检查python上停止的docker容器
我正在用Python编码testing。 我想做一个方法,输出一个容器的状态(运行/退出)。
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来完成
有任何想法吗?
您正在使用较旧版本的docker-py
。 下面做
pip uninstall docker-py pip install docker
然后运行代码
import docker client = docker.client.DockerClient() container = client.containers.get("2457e5a283e5cb4add4fdb36pb465437b21bb21f768be405fe40615e25442d6e")
现在它应该工作