Docker包:Hash Sum Mismatch

时间:2016-06-02 13:47:45

标签: docker ubuntu-14.04 apt-get

我在执行apt-get update(Ubuntu 14.04)时遇到以下错误

Hit http://archive.ubuntu.com trusty/main amd64 Packages                       
Hit http://archive.ubuntu.com trusty/restricted amd64 Packages                 
Hit http://archive.ubuntu.com trusty/universe amd64 Packages                   
Fetched 3156 kB in 15s (201 kB/s)                                              
W: **Failed to fetch https://apt.dockerproject.org/repo/dists/ubuntu-trusty/main/binary-amd64/Packages  Hash Sum mismatch**

E: Some index files failed to download. They have been ignored, or old ones used instead.

3 个答案:

答案 0 :(得分:1)

您是否添加了docker repo的gpg密钥?

来自官方doc

$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

答案 1 :(得分:1)

这是目前docker中的已知错误,请参阅here

该线程中列出了一些解决方法,具体取决于您遇到此问题的位置(travis CI与本地不同)。

答案 2 :(得分:0)

所选择的解决方案对我没有用。而且我注意到这种情况并非总是如此 - 也就是说,如果我等了一两天,我就不会得到错误。我怀疑它与ubuntu存储库有关,而不是我们使用的docker版本(如Robie所述)。

我的解决方案是使用official mirrors之一而不是默认的ubuntu repo。 用您的ubuntu版本替换xenial。根据你不匹配的位置,你可能需要为所有行或没有行添加额外的deb-src行。我注意到镜像比默认值慢。

RUN rm -rf /etc/apt/sources.list
RUN echo "deb mirror://mirrors.ubuntu.com/mirrors.txt xenial main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src mirror://mirrors.ubuntu.com/mirrors.txt xenial-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb mirror://mirrors.ubuntu.com/mirrors.txt xenial-security main restricted universe multiverse" >> /etc/apt/sources.list