本地部署期间找不到Docker镜像(“没有这样的镜像”)

3
我想测试我的服务,为此我在本地部署它,直到现在一切正常。然而,由于某些不相关的原因,我被迫删除了所有的docker镜像,自那以后我就无法在本地部署该服务。部署时,我收到以下错误消息:

404客户端错误:找不到URL: http+docker://localnpipe/v1.39/images/471b7320d98e95ad137228efff17267535936b632a749f817dbee3e9d03cd814/json

还有:

ImageNotFound: 404客户端错误:未找到(“没有这样的镜像: 471b7320d98e95ad137228efff17267535936b632a749f817dbee3e9d03cd814: 没有这样的镜像: sha256:471b7320d98e95ad137228efff17267535936b632a749f817dbee3e9d03cd814”)

我用什么方法来部署模型:

from azureml.core.model import Model
from azureml.core import Workspace
from azureml.core.webservice import LocalWebservice
from azureml.core.model import InferenceConfig

ws = Workspace.from_config("config.json")

deployment_config = LocalWebservice.deploy_configuration(port=8890)

inference_config = InferenceConfig(runtime= "python", 
                               entry_script="score.py",
                               conda_file="env.yml")

model_box = Model(ws, "box")
model_view = Model(ws, "view_crop")
model_damage = Model(ws, "damage_crop")

service = Model.deploy(ws, "test-service", [model_box, model_view, model_damage], inference_config, deployment_config)

service.wait_for_deployment(True)

我理解为什么没有图像存在,但我期望在这种情况下它会被下载。
是否有一种方法可以强制构建过程重新下载docker基础镜像?
提前感谢。
最初的回答:没有找到图像的情况下不会下载它。如果您想重新下载Docker基础镜像,请使用以下命令:docker image rm <image_name> && docker pull <image_name>
1个回答

2
我找到了问题以及相应的解决方案:
我删除了所有的图片,但仍有一些基于已删除图像的容器存在。删除对应的容器后,Docker镜像将从服务器重新加载。
您可以使用docker kill $(docker ps -q)命令删除所有容器。

嗨,我是一个与你的代码非常相似的程序。但在Model.deploy步骤中遇到了一个不同的问题。服务已经创建,但当我运行docker ps -a时,我发现该服务在从Created和Up状态转为3秒后以Code 111退出。你对此有什么想法吗? - Emna Jaoua
谢谢你的提示,@thomas。在本地部署进行测试时,遇到了同样的“docker not found”问题,并通过执行docker container prune -f命令解决了该问题。 - Grumpybeard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接