我正在使用docker-py管理其中一个应用的docker容器。我想检索所有正在运行的容器的列表,与docker ps
相同。但containers
方法只返回一个空列表。
>>> 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
我错过了什么?
答案 0 :(得分:3)
好吧,我弄清楚出了什么问题。客户端和服务器没有相同的版本。当我使用正确的版本号重新初始化docker.Client
时,它会返回所有正在运行的容器的列表。