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



我正在用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 执行此操作

有什么想法吗?

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

pip uninstall docker-py
pip install docker

然后运行代码

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

现在它应该可以工作了

相关内容

  • 没有找到相关文章

最新更新