Docker push 到私有仓库时出现 EOF 错误

119次阅读
没有评论

问题描述

在尝试将镜像推送到私有仓库时,遇到了以下错误:

PS C:\Users\user\aplication> docker push registry.apprepo.app/app:1.22.3 The push refers to repository [registry.apprepo.app/app]f4ca70ea751f: Layer already exists05e4cd1b24c1: Pushed 1ed92f7e8e52: Pushedf9cb3f1f1d3d: Layer already existsf0fb842dea41: Layer already existsc1cd5c8c68ef: Layer already exists1d54586a1706: Layer already exists1003ff723696: Layer already existsf1417ff83b31: Layer already existsPatch "http://registry.apprepo.app/v2/app/blobs/uploads/f3666007-df22-456e-b15d-094d0317e166": EOF

用户还提供了相关的 Dockerfile 和 Docker Compose 文件。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

根据用户提供的信息,问题可能出现在使用 Alpine 镜像的 NGINX 上。尝试将 NGINX 镜像更改为 Ubuntu,并使用 NGINX 18.04 版本。以下是解决方案的步骤:
1. 打开 Docker Compose 文件。
2. 将 NGINX 镜像更改为 nginx:18.04
3. 保存并关闭文件。
4. 重新运行 docker-compose up 命令以重新构建和启动容器。
5. 尝试再次推送镜像到私有仓库。

请注意,这个解决方案是基于用户提供的最佳回答。如果问题仍然存在,请尝试其他解决方案或查找更多相关信息。

方案2

如果方案1无效,您还可以尝试以下操作:
1. 打开终端或命令提示符。
2. 运行以下命令以清理 Docker 构建缓存:
docker builder prune -af
3. 重新运行 docker-compose up 命令以重新构建和启动容器。
4. 尝试再次推送镜像到私有仓库。

请注意,这个解决方案是基于用户提供的最佳回答和其他用户的投票。如果问题仍然存在,请尝试其他解决方案或查找更多相关信息。

希望这些解决方案能帮助到您!如果您有任何其他问题,请随时提问。

正文完