基于Linux下docker python api的问题

我想获取容器的logs,但是用run后显示容器的status是未启动的怎么办呢

import docker

client = docker.from_env()
c = client.containers.run('centos')
print('stats',c.stats())

就是c.stats()显示“Exited”,我想要怎么样真正启动成“running”。
或者有什么方法通过python可以得到docker容器的日志。

import docker

client = docker.api.client(base_url='unix://var/run/docker.sock', version='1.9', timeout=10)
client.api.create_container(image='nginx:latest', name='nginx')
client.api.start(container=client.get('Id'))
print(client.api.logs(container=client.get('Id')))

我的python docker包是5.0.0版本,获取日志是上面这样子的。

docker run不加-d直接跑不就是了

未启动可以使用 docker ps -a 看看你的容器存不存在(有没有在所有容器列表中)
如果有的话,并且不能正常启动, 说明容器内程式是有问题的
你可以在 run 容器的时候指定命令 ping 8.8.8.8 , 这个是不会出错的
然后 docker exec -it [容器ID] bash 进入容器, 再手动运行你的 Python api 看看 error