drud/ddev-webserver镜像丢失及ddev启动镜像找不到问题求助
Ddev启动报错:本地已拉取镜像仍提示找不到的解决方法
问题背景
基于Ddev搭建的环境运行数月正常,更新Docker并清理孤立镜像后出现异常:
- 原自定义基础镜像
BASE_IMAGE=drud/ddev-webserver:v1.21.5因本地副本被删除无法找到 - 更换为
BASE_IMGAGE=ddev/ddev-webserver:v1.23.5后问题依旧 - 升级Ddev至v1.23.5(适配Silicon Mac的arm64版本),手动执行
docker pull ddev/ddev-webserver:v1.23.5成功,但ddev restart时仍报错:stderr='failed to solve: ddev/ddev-webserver:1.23.5: failed to resolve source metadata for docker.io/ddev/ddev-webserver:1.23.5: docker.io/ddev/ddev-webserver:1.23.5: not found'
核心原因
Docker镜像标签严格区分格式,你手动拉取的是带v前缀的ddev/ddev-webserver:v1.23.5,但Ddev启动时实际请求的是不带v的ddev/ddev-webserver:1.23.5,因此即使本地有带v的版本,不带v的仍会被判定为不存在。
解决步骤
- 确认本地已拉取的镜像:
输出中能看到docker images | grep ddev-webserverv1.23.5版本的镜像记录。 - 给本地镜像添加不带
v的标签:docker tag ddev/ddev-webserver:v1.23.5 ddev/ddev-webserver:1.23.5 - 重新启动Ddev:
ddev restart
后续避免方案
修改配置文件中的BASE_IMAGE为不带v前缀的标签ddev/ddev-webserver:1.23.5,后续拉取镜像时直接使用对应标签,避免因标签格式不一致引发问题。
内容的提问来源于stack exchange,提问作者fwtag
相关产品推荐
相关产品推荐

