我正在使用docker-py管理我的一个应用程序的Docker容器.我想检索所有正在运行的容器的列表,与docker ps相同.但是container方法仅返回一个空列表.
>>> import docker
>>> c = docker.Client()
>>> container = c.create_container(image='base',command='/bin/bash',stdin_open=True,tty=True,name='docker-test')
>>> container
{u'Id': u'1998f08a031d8632400264af667d93162465a04348b61144a4c730c7c4462875',u'Warnings': None}
>>> c.start(container)
>>> c.containers(quiet=False,all=True,trunc=True,latest=False,since=None,before=None,limit=-1)
[]
但是,当然,执行$docker ps给了我这个:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1998f08a031d base:latest /bin/bash 3 minutes ago Up 3 minutes docker-test
我在这里错过了什么?
最佳答案
好吧,我发现了哪里出了问题.客户端和服务器没有相同的版本.当我使用正确的版本号重新初始化docker.Client时,它将返回所有正在运行的容器的列表.