我想我可能已经解决了你的问题:

我想我可能已经解决了你的问题:

docker build .针对以下 dockerfile运行

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && apt-get update -y 

我得到了错误 E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/source/by-hash/SHA256/50ccff6c903e98e2e52c1ab6dae4a85d23a84369325fd971c4bfc3752e6a7ede Hash Sum mismatch E: Some index files failed to download. They have been ignored, or old ones used instead.

然后我尝试将该问题中的每个解决方案添加到我的dockerfile中: 由于“哈希值不匹配”错误,无法下载软件包列表

FROM ubuntu:16.04
MAINTAINER [email protected]
RUN touch /etc/apt/apt.conf.d/99fixbadproxy \
    && echo "Acquire::http::Pipeline-Depth 0;" >> /etc/apt/apt.conf.d/99fixbadproxy \
    && echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf.d/99fixbadproxy \
    && echo "Acquire::BrokenProxy true;" >> /etc/apt/apt.conf.d/99fixbadproxy \
    && apt-get update -o Acquire::CompressionTypes::Order::=gz \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* \
    && apt-get update -y

但我遇到了同样的错误。

我还可以做些什么?

答案1

所选的解决方案对我不起作用。我注意到情况并非总是如此 - 也就是说,如果我等一两天,就不会收到错误。我怀疑这与 ubuntu 存储库有关,而不是我们使用的 docker 版本(正如解释的那样罗比)。

我的解决方案是使用官方镜像而不是默认的 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

答案2

我想我可能已经解决了你的问题:

您可能缺少 Docker 依赖项,或者 docker 安装不正确。

以下是Ubuntu 上的 Docker 安装

尤其这部分可能会丢失。

我建议您按照这些官方说明重新安装 docker。

如果问题仍然存在,则您的虚拟机或主机的网络连接可能存在问题。

毕竟您的 Dockerfile 对我来说似乎是正确的,所以这不应该是原因。

相关内容