新Apple Silicon Mac运行Docker Compose时守护进程返回EOF错误求助
解决Docker拉取Elasticsearch镜像时的EOF错误
问题描述
新Mac安装Docker 4.14.1 (91661)后,运行docker-compose up -d拉取Elasticsearch 7.16.3镜像时持续出现EOF错误,部分镜像可正常下载,错误示例如下:
git:(master) docker-compose up -d [+] Running 0/1 ⠿ elasticsearch Error 1.5s Error response from daemon: Head "https://docker.elastic.co/v2/elasticsearch/elasticsearch/manifests/7.16.3": EOF git:(master) docker-compose up -d [+] Running 0/1 ⠴ elasticsearch Pulling 2.5s Get "https://docker.elastic.co/v2/elasticsearch/elasticsearch/manifests/sha256:8c679a18bafae7f4483e0058a78ca3ad0ab1da4f0289f97d0044946adb36cea7": EOF git:(master) docker-compose up -d [+] Running 0/1 ⠿ elasticsearch Error 1.5s Error response from daemon: Head "https://docker.elastic.co/v2/elasticsearch/elasticsearch/manifests/7.16.3": EOF
解决方法
1. 排查网络与镜像源连通性
- 测试
docker.elastic.co的连通性:终端运行curl -v https://docker.elastic.co/v2/,若返回含UNAUTHORIZED的JSON响应,说明网络通路正常;若超时或失败,切换到稳定网络(如手机热点)重试。 - 手动拉取镜像验证:运行
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.16.3,排除docker-compose配置干扰。
2. 清理Docker缓存与残留镜像
- 清理全量无用资源:运行
docker system prune -a,输入y确认,删除未使用的镜像、容器、卷和网络,清除损坏的缓存文件。 - 删除部分拉取的残缺镜像:运行
docker rmi docker.elastic.co/elasticsearch/elasticsearch:7.16.3(镜像不存在可跳过),再重新拉取。
3. 调整Docker资源分配
- 打开Docker Desktop偏好设置,进入Resources选项卡,将内存分配调高至4GB以上,Elasticsearch资源不足可能导致拉取中断。
4. 添加镜像加速源(针对国内网络)
- 在Docker Desktop偏好设置的Docker Engine中添加加速源,修改配置如下:
{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com" ] }
保存后重启Docker Desktop,再尝试拉取。
5. 调整Docker版本
- 升级Docker Desktop到最新稳定版,旧版本可能存在与镜像仓库的兼容性问题;也可尝试降级到4.13.x版本测试。
内容的提问来源于stack exchange,提问作者Vinyl Warmth
相关产品推荐
相关产品推荐

