Я пытаюсь обновить контейнер человечности с dockerfile.
RUN apt-get update -y
Но я добираюсь ниже ошибки.
E: Release file for http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease is not valid yet (invalid for another 9h 14min 10s). Updates for this repository will not be applied.
E: Release file for http://archive.ubuntu.com/ubuntu/dists/bionic-updates/InRelease is not valid yet (invalid for another 9h 14min 16s). Updates for this repository will not be applied.
E: Release file for http://archive.ubuntu.com/ubuntu/dists/bionic-backports/InRelease is not valid yet (invalid for another 9h 14min 35s). Updates for this repository will not be applied.
Я проверил некоторые другие решения той же проблемы как добавление Acquire::Check-Valid-Until=false
в Кв. - добираются как ниже
RUN apt-get -o Acquire::Check-Valid-Until="false" update -y
Вышеупомянутое также перестало работать.
Исправьте свои системные часы. (в комментариях я также предложил проверить на несоответствие между часами и Вашим часовым поясом также),
Обратитесь к тому, Каков оператор командной строки для изменения Системных часов? для установки системного времени (я предлагаю идти в timedatectl
ответьте при использовании 'современного' релиза Ubuntu), или http://manpages.ubuntu.com/manpages/xenial/man8/hwclock.8.html (если Вы хотите установить аппаратные часы непосредственно; но не забудьте подходить его со своей конфигурацией часового пояса),
В случае, если Вы находитесь на Mac (или другая основанная на машине докера система) проблема, это кажется, то, если у Вас есть длительная машина докера, время может дрейфовать (см. https://github.com/docker/for-mac/issues/1260).
Просто перезапуск моей машины докера разрешил 'Выпуск не допустимая все же' ошибка.
На Рабочем столе Докера:
Настройки в †’ Сброс в †’ Сброс к фабрике
Перезапуск docker
(или Ваш компьютер, чтобы быть бесспорным), поскольку системным часам не соответствуют.
Я провел несколько часов, пытаясь изобразить то, что шло и перезапускало, зафиксировал его немедленно.
Я решил проблему со временем обновления:
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
sudo apt update
Если вы используете Docker, в 2.2.0 недавно была обнаружена ошибка, которая вызывает смещение времени, когда главный компьютер переходит в спящий режим. Это десинхронизирует все запущенные контейнеры докеров, что приведет к таким ошибкам, как эта.
См. https://github.com/docker/for-win/issues/5593 для отслеживания решения и обходных путей.
Об этом спрашивали в 2018 году, когда этой ошибки еще не было в Docker. Теперь эта ошибка присутствует, поэтому она может быть проблемой для людей, нашедших этот пост сегодня.
Это не сработало для меня:
apt-get -o Acquire::Check-Valid-Until="false" update
но это сработало:
apt-get -o Acquire::Max-FutureTime=86400 update
86400 — это количество секунд в сутках. Если ваши часы выключены больше, чем это, вам нужно будет увеличить его.
Внимание: Использование кавычек может привести к тому, что число будет рассматриваться как строка.Оболочка обычно удаляет один набор кавычек, но -o 'Acquire::Max-FutureTime="86400"'
удалит только одинарные кавычки, а apt-get увидит двойной кавычки вокруг числа.
Я попробовал это, потому что GetNotBefore()
в Acquire-Item.cc возвращает d->NotBefore
, что, по-видимому, затрагивает только Acquire::Max-FutureTime
.
https://github.com/Debian/apt/blob/master/apt-pkg/acquire-item.cc#L1758-L1775 https://github.com/Debian/apt/blob/master /apt-pkg/deb/debmetaindex.cc#L543-L555
Это помогло мне исправить время в докере:
docker run --rm --privileged alpine hwclock -s
sudo hwclock -s
помог мне решить проблему.
Docker 2.2.3.0, работающий на WSL 2 Windows 10 19603