Как закрепить ошибку несоответствия суммы хеша на новом обновлении изображения докера?

Выполнение docker build . против следующего dockerfile

FROM ubuntu:16.04
MAINTAINER b@example.com
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 b@example.com
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

но я получаю ту же ошибку.

Что еще я могу сделать?

3
задан 13 April 2017 в 15:24

2 ответа

Я думаю, что, возможно, изобразил Вашу проблему:

у Вас могли бы быть недостающие зависимости для Докера, или докер не установлен правильно.

Вот полная инструкция для установка Докера на Ubuntu .

Особенно , эта часть могла бы отсутствовать.

я советовал бы Вам переустанавливать докера с этими официальными инструкциями.

, Если проблема должна сохраниться, могла бы быть проблема с сетевым соединением Вашего VM или Вашей хост-машины.

После того, как весь Ваш Dockerfile кажется корректным мне, таким образом, это не должно быть причиной.

1
ответ дан 1 December 2019 в 16:56

Выбранное решение не работало на меня. И я заметил, что это не всегда имеет место - то есть, если я ожидаю день или два, я не получаю ошибку. Я подозреваю, что это больше имеет отношение к репозиториям человечности, чем версия докера, которого мы используем (как объяснено Robie).

Мое решение состоит в том, чтобы использовать одно из официальных зеркал вместо человечности по умолчанию repo. Замена, гостеприимная с Вашей версией человечности. Вам, возможно, понадобилась бы дополнительная 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
1
ответ дан 1 December 2019 в 16:56

Другие вопросы по тегам:

Похожие вопросы: