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

AWS ECR是否支持推送大体积Docker镜像?8GB镜像推送失败求助

推送8GB Docker镜像至AWS ECR时出现网络连接中断问题

我的Docker镜像经优化后仍有8GB,推送至AWS ECR时频繁失败,报错信息如下:

docker push <my_aws_account_id>.dkr.ecr.us-west-2.amazonaws.com/<repo_name>:latest
The push refers to repository [<my_aws_account_id>.dkr.ecr.us-west-2.amazonaws.com/<repo_name>]
06a2055b9ab0: Pushing  990.7MB/990.7MB
85eed397b726: Retrying in 7 seconds 
0a607d029eeb: Retrying in 7 seconds 
fa5bc98fdc9c: Retrying in 5 seconds 
602a37a72ff6: Pushed 
102f36f0fcfd: Pushed 
7a6f52e90804: Retrying in 13 seconds 
029e3473b943: Waiting 
f5fe472da253: Waiting 
use of closed network connection

已尝试添加重试标签、延长超时时间、验证权限,问题仍未解决。

可行的解决方法

1. 进一步优化镜像大小

8GB的大镜像推送时极易因网络波动中断,可尝试:

  • 采用多阶段构建,剥离构建阶段的依赖、编译器等文件,只保留运行时必需组件
  • 将大文件拆分为独立镜像层,降低单一层的传输压力

2. 调整Docker daemon网络配置

编辑Docker守护进程配置文件(通常为/etc/docker/daemon.json),增加重试次数和超时时间,同时限制并发上传数减少网络负载:

{
  "max-concurrent-uploads": 1,
  "max-retries": 20,
  "timeout": 3600
}

修改后重启Docker服务:

systemctl restart docker

3. 通过S3中转推送

利用同区域S3的稳定传输能力中转镜像:

  1. 将本地镜像导出为tar包:
docker save <你的镜像ID> -o large-image.tar
  1. 上传tar包至同区域的S3存储桶:
aws s3 cp large-image.tar s3://你的存储桶名称/
  1. 在同区域的EC2实例上拉取tar包,导入后推送至ECR:
aws s3 cp s3://你的存储桶名称/large-image.tar .
docker load -i large-image.tar
docker tag <导入后的镜像ID> <my_aws_account_id>.dkr.ecr.us-west-2.amazonaws.com/<repo_name>:latest
docker push <my_aws_account_id>.dkr.ecr.us-west-2.amazonaws.com/<repo_name>:latest

4. 排查本地网络问题

  • 切换至有线网络,避免WiFi信号波动
  • 临时关闭防火墙、代理工具,确认是否存在连接拦截
  • 若业务允许,尝试将镜像推送至就近区域的ECR仓库,降低传输延迟

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 19:03:19