You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用client.images.get()无法获取Docker镜像,遇ImageNotFound错误求助

Python Docker SDK 镜像找不到问题解决办法

错误原因

你遇到的docker.errors.ImageNotFound错误,是因为本地Docker环境中不存在指定的IMAGE_NAME:latest镜像,代码里的client.images.get()会强制校验本地镜像是否存在,不存在就直接抛出错误;且默认情况下client.containers.run()不会自动拉取缺失的镜像。

解决方法

方法1:先检查并拉取镜像

在获取镜像前捕获ImageNotFound异常,触发远程拉取操作:

import docker

client = docker.from_env()
IMAGE_NAME = "你的镜像名称"

try:
    # 尝试获取本地已有镜像
    client.images.get(IMAGE_NAME)
except docker.errors.ImageNotFound:
    # 本地无镜像则从仓库拉取
    client.images.pull(IMAGE_NAME)

# 运行容器
client.containers.run(
    image=IMAGE_NAME,
    # 你的其他参数
)

方法2:让run方法自动拉取

给containers.run()添加pull=True参数,本地无镜像时会自动从远程仓库拉取:

import docker

client = docker.from_env()
IMAGE_NAME = "你的镜像名称"

client.containers.run(
    image=IMAGE_NAME,
    pull=True,  # 开启自动拉取
    # 你的其他参数
)

注意事项

  • 确认镜像名称拼写正确,包含完整标签(比如ubuntu:22.04而非仅ubuntu),私有镜像要加上仓库地址(如my-registry.com/app:v1)
  • 如果是私有仓库镜像,需确保Docker客户端已配置对应仓库的认证信息,也可通过client.images.pull()的auth_config参数传入账号密码

内容的提问来源于stack exchange,提问作者Panda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 08:45:04