使用 Docker SDK 的 exec() 方法查询容器日志
Docker SDK 中的 exec() 方法允许您在正在运行的容器中执行命令。要查询容器的日志信息,可以使用 exec() 方法执行 'docker logs' 命令。
以下是一个示例代码:
import docker
client = docker.from_env()
container = client.containers.get('my-container')
logs = container.exec_run(['docker', 'logs', 'my-container'])
print(logs.output.decode())
在上面的代码中,我们首先使用 docker.from_env() 方法创建了一个 Docker 客户端对象。然后,我们使用 client.containers.get() 方法获取了名为 'my-container' 的容器对象。接下来,我们使用 exec_run() 方法执行了 'docker logs' 命令,并将结果存储在 logs 变量中。最后,我们使用 decode() 方法将结果转换为字符串,并将其打印出来。
请注意,在上面的代码中,我们将 'docker logs' 命令作为参数传递给 exec_run() 方法。这是因为 exec_run() 方法需要一个命令列表作为参数,而不是一个字符串。因此,我们将命令拆分成一个列表,然后将其传递给 exec_run() 方法。
原文地址: https://www.cveoy.top/t/topic/kNua 著作权归作者所有。请勿转载和采集!