docker-py 尝试获取容器列表时出错
docker-py error when attempting to get a list of containers
如果我遗漏了一些明显的东西,我深表歉意。我正在尝试使用 docker-py 版本 5.0.0 和 python 3.6 连接到我的本地 docker 引擎和 运行 命令,但是当我尝试时收到错误访问 运行ning 容器列表。我在 docker:stable 容器和服务器 运行ning Ubuntu 18.04.
上收到了同样的错误
这是我如何得到错误的示例:
$ python3
>>> import docker
>>> print(docker.__version__)
5.0.0
>>> docker_client = docker.DockerClient(base_url='unix://var/run/docker.sock', version="1.41")
>>> docker_containers = docker_client.containers()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/site-packages/docker/models/resource.py", line 67, in __call__
raise TypeError(
TypeError: 'ContainerCollection' object is not callable. You might be trying to use the old (pre-2.0) API - use docker.APIClient if so.
这是 docker 的版本 我目前 运行ning:
$ docker version
Client: Docker Engine - Community
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:54:08 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:52:16 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.19.0
GitCommit: de40ad0
据我所知,目前 docker 引擎 API 的最新版本是 1.41。
我错过了什么或做错了什么导致了这个错误?
再次浏览文档后,我相当确定以下内容是正确的。
docker_client = docker.DockerClient(base_url='unix://var/run/docker.sock')
docker_client.containers.list()
如果我遗漏了一些明显的东西,我深表歉意。我正在尝试使用 docker-py 版本 5.0.0 和 python 3.6 连接到我的本地 docker 引擎和 运行 命令,但是当我尝试时收到错误访问 运行ning 容器列表。我在 docker:stable 容器和服务器 运行ning Ubuntu 18.04.
上收到了同样的错误这是我如何得到错误的示例:
$ python3
>>> import docker
>>> print(docker.__version__)
5.0.0
>>> docker_client = docker.DockerClient(base_url='unix://var/run/docker.sock', version="1.41")
>>> docker_containers = docker_client.containers()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/site-packages/docker/models/resource.py", line 67, in __call__
raise TypeError(
TypeError: 'ContainerCollection' object is not callable. You might be trying to use the old (pre-2.0) API - use docker.APIClient if so.
这是 docker 的版本 我目前 运行ning:
$ docker version
Client: Docker Engine - Community
Version: 20.10.8
API version: 1.41
Go version: go1.16.6
Git commit: 3967b7d
Built: Fri Jul 30 19:54:08 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.8
API version: 1.41 (minimum version 1.12)
Go version: go1.16.6
Git commit: 75249d8
Built: Fri Jul 30 19:52:16 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.9
GitCommit: e25210fe30a0a703442421b0f60afac609f950a3
runc:
Version: 1.0.1
GitCommit: v1.0.1-0-g4144b63
docker-init:
Version: 0.19.0
GitCommit: de40ad0
据我所知,目前 docker 引擎 API 的最新版本是 1.41。
我错过了什么或做错了什么导致了这个错误?
再次浏览文档后,我相当确定以下内容是正确的。
docker_client = docker.DockerClient(base_url='unix://var/run/docker.sock')
docker_client.containers.list()