如何用docker-py实现docker inspect -f '{{ .Mounts }}' e2c657561363的功能?
嘿,这个问题我刚好熟!要在docker-py(Docker Python SDK)里实现和docker inspect -f '{{ .Mounts }}' e2c657561363完全等效的功能,其实非常直观,咱们直接上代码和解释:
实现步骤
首先确保你已经安装了Docker Python SDK:
pip install docker核心代码示例:
import docker # 初始化Docker客户端,默认会自动连接本地的Docker服务 client = docker.from_env() # 通过容器ID获取目标容器对象 container = client.containers.get('e2c657561363') # 直接获取挂载信息,这就对应命令里的{{ .Mounts }} mounts_info = container.mounts # 如果你需要和命令输出类似的字符串格式,也可以转成字符串 # print(str(mounts_info)) # 但更推荐直接用Python列表/字典对象做后续处理 print(mounts_info)
额外说明
container.mounts是SDK提供的封装属性,底层其实是读取了容器元数据里的attrs['Mounts']字段,所以你也可以用container.attrs['Mounts']来获取完全一样的内容,两种方式都可行。- 命令
docker inspect -f '{{ .Mounts }}'输出的是字符串形式的挂载列表,而SDK返回的是Python原生的列表对象(每个元素是包含挂载详情的字典),这对于后续的代码处理会更方便,比如遍历挂载、提取特定字段(如Source、Destination)等。
内容的提问来源于stack exchange,提问作者Aaditya R Krishnan
相关产品推荐
相关产品推荐

