常见问题
当使用毫秒镜像拉取镜像失败时,可以按照以下步骤进行系统化排查和解决。
排查步骤
1. 检查镜像地址配置
首先确认Docker是否已正确配置镜像加速地址:
docker info在输出中查找Registry Mirrors部分,确认是否包含docker.1ms.run。如图
2. 测试直接拉取镜像
尝试直接拉取镜像测试连接性:
docker pull docker.1ms.run/library/nginx3. 检查镜像版本可用性
当遇到镜像拉取失败时,一个重要但常被忽视的环节是确认目标镜像版本是否存在。可以通过以下方式验证:
1.访问镜像仓库搜索页面:
打开浏览器访问:
https://1ms.run/search?query={镜像名称}将{镜像名称}替换为你实际需要拉取的镜像名(如nginx、redis等)
验证镜像版本:
- 在搜索结果中确认所需镜像版本是否存在于仓库中
- 特别注意镜像的tag(版本标签)是否正确
- 检查镜像的更新时间,避免使用已过期的版本
获取正确的拉取命令:
在确认镜像可用后,可以直接复制页面提供的标准拉取命令,例如:
docker pull docker.1ms.run/library/nginx:1.25.3这样可以确保使用的镜像地址和版本完全正确。
注意事项:
- 某些镜像可能有不同的仓库路径(如
library/前缀)
4.检查网络连通性
如果直接拉取失败,检查网络连接:
ping docker.1ms.run5.验证系统时间
不正确的系统时间可能导致SSL证书验证失败:
date如果时间不正确,进行时间校准:
sudo yum install ca-certificates6. DNS问题

shell执行下面的命令
echo "nameserver 114.114.114.114" >> /etc/resolv.conf如果非root用户使用如下命令
echo "nameserver 114.114.114.114" | sudo tee /etc/resolv.conf7. 检查Docker版本
查看当前Docker版本:
docker --version
docker info如果版本过低,建议升级到最新版本。
Ubuntu/Debian
# 更新软件包索引
sudo apt-get update
# 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装依赖
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装最新版Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 验证安装
docker --versionCentOS/RHEL
# 卸载旧版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 安装依赖
sudo yum install -y yum-utils
# 设置仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装最新版Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker --version8. 推荐的重装docker后执行命令
如果重新安装Docker,重装后推荐使用以下命令:
curl -s https://static.1ms.run/1ms-helper/scripts/install.sh | sudo bash /dev/stdin config:mirror9. docker desktop

- 在shell执行拉取确认网络和服务是否正常(步骤2)
- desktop的假重启。要关掉软件进程重新启动。
10. docker search 报错?
- search 命令,需要全路径
docker search docker.1ms.run/tomcat- 用网页搜索结果, 比如: https://1ms.run/search?query=tomcat
11. unsupported media type 错误?
升级至最新版本可解决
Docker 26(旧版)
只支持: application/vnd.oci.image.manifest.v1+json
不支持: application/vnd.oci.empty.v1+json (OCI v1.1+)
Docker 29+(新版)
支持所有OCI v1.1规范
docker pull docker.1ms.run/bitnami/postgresql:sha256-3a49168b603ca7956979e7fec71716764dfcf6f76c0558e6c825ef8e5dd239b5
sha256-3a49168b603ca7956979e7fec71716764dfcf6f76c0558e6c825ef8e5dd239b5: Pulling from bitnami/postgresql
unsupported media type application/vnd.oci.empty.v1+json

docker buildx build 报错
导致这个现象的原因在于 docker build 和 docker buildx build 底层使用的构建引擎和配置加载方式不同。
从你的截图中可以看到右上角写着 docker-container:multiarch,这意味着你正在使用 docker-container 驱动来进行 buildx 构建。
- 普通的
docker build直接使用宿主机上的 Docker Daemon,它会自动读取/etc/docker/daemon.json中配置的registry-mirrors镜像加速器。 docker buildx(使用 docker-container 驱动时) 会启动一个独立的 BuildKit 容器(也就是你截图里的那个实例)来执行构建。这个独立的 BuildKit 容器默认并不会继承宿主机daemon.json里的镜像加速配置,所以它依然会尝试直接连接registry-1.docker.io,导致i/o timeout网络超时。
要解决这个问题,你需要显式地为 BuildKit 实例配置镜像加速器。以下是具体的解决步骤:
解决方案:为 BuildKit 配置镜像加速器
你需要创建一个配置文件,然后用这个配置文件创建一个新的 buildx 实例。
第一步:创建 BuildKit 配置文件
在你的当前目录或者任意位置创建一个名为 buildkitd.toml 的文件,写入以下内容:
debug = true
[registry."docker.io"]
mirrors = ["https://你的镜像加速器地址"] 注意:请把 https://你的镜像加速器地址 替换为你已经在 daemon.json 中配置并确认有效的那个加速器地址(例如阿里云、腾讯云或其他可用镜像站)。
第二步:使用该配置创建新的 buildx 实例
在终端依次运行以下命令,删除旧的实例(可选),并使用刚才的配置创建并启用新实例:
# 1. (可选) 清理现有的失败的构建器,假设你之前使用的是 multiarch
# docker buildx rm multiarch
# 2. 创建一个新的 builder 实例,并挂载刚刚的配置文件
docker buildx create --use --name mybuilder --driver docker-container --config ./buildkitd.toml
# 3. 启动并检查该实例
docker buildx inspect mybuilder --bootstrap完成这一步后,再次运行你的构建命令:docker buildx build --platform linux/arm64 -t netbouncer-test-arm64 .
此时它就会通过你配置的加速器去拉取 Ubuntu 等基础镜像了。
missing signature key 错误
请升级Docker。版本太低,该版本的docker官方已经废弃支持。最低升级到docker 24 ,建议升级到最新版本。
问题仍未解决?
通过以上系统化的排查步骤,您应该已经解决了大部分Docker镜像拉取的问题。如果问题依然存在,我们为您提供了以下支持渠道:
1. 加入技术交流群
欢迎加入我们的Docker技术交流QQ群,与众多开发者一起讨论解决方案:
| 企业微信 | |
|---|---|
![]() |
![]() |
| QQ群号:1037364653 获得免费技术支持 |
扫描上方二维码加入微信群 |
2. 问题反馈建议
为了更高效地解决问题,建议反馈时提供以下信息:
- 操作步骤和执行的命令
- 操作系统和Docker版本信息
- 网络环境描述
我们的技术团队会在收到问题后尽快为您提供解决方案。

