将图像推送到 Docker 集线器时如何修复服务器错误?

How to fix server error while pushing an image to the Docker hub?

我已经从 Dockerfile 构建了一个图像,提交了它,现在正试图将它推送到 Hub。命令我运行:

sudo docker push lisahelm/mongo:v2

输出的内容:

The push refers to a repository [lisahelm/mongo] (len: 1)  
7b6d0719b415: Image already exists  
975e0be2d43f: Image already exists  
ee08822aa3f9: Image already exists  
96f2191238d5: Image already exists  
07f8e8c5e660: Image already exists  
37bea4ee0c81: Image already exists    
a82efea989f9: Image already exists  
e9e06b06e14c: Image already exists  
FATA[0015] Error pushing to registry: Server error: 400 trying to push lisahelm/mongo:v2 manifest 

我看到人们在其他问题中询问的信息:

Docker version 1.6.0, build 4749651/1.6.0
Containers: 4  
Images: 22  
Storage Driver: devicemapper   
 Pool Name: docker-202:1-263695-pool   
 Pool Blocksize: 65.54 kB  
 Backing Filesystem: extfs  
 Data file: /dev/loop0  
 Metadata file: /dev/loop1   
 Data Space Used: 2.222 GB   
 Data Space Total: 107.4 GB   
 Data Space Available: 4.88 GB   
 Metadata Space Used: 2.58 MB    
 Metadata Space Total: 2.147 GB   
 Metadata Space Available: 2.145 GB   
 Udev Sync Supported: true   
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data   
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata   
 Library Version: 1.02.89-RHEL6 (2014-09-01)   
Execution Driver: native-0.2   
Kernel Version: 3.14.35-28.38.amzn1.x86_64   
Operating System: Amazon Linux AMI 2015.03  
CPUs: 1   
Total Memory: 1.957 GiB   
Name: ip-172-31-11-134   
ID: WVRW:3RM3:L4KL:YABF:JGSK:S6ML:U2CH:5Z5G:67CY:24BF:3DIE:E6TA   
Username: lisahelm   
Registry: [https://index.docker.io/v1/]

您正在使用 Amazon AMI 运行 RHEL。

Amazon 在这些机器上运送的 docker 有缺陷。

解决方案是切换到 Ubuntu,或者在实例上手动更新 docker。

您可以在此处阅读上下文和 AMZ 开发人员的回答:https://github.com/docker/docker/issues/13143#issuecomment-102522728

另一位提出更新解决方案的用户:https://github.com/docker/distribution/issues/538#issuecomment-104241554

终于来到关于此错误的亚马逊支持论坛:https://forums.aws.amazon.com/thread.jspa?messageID=622774