Обновление apt-get завершается с 404 в ранее работающей сборке - PullRequest
12 голосов
/ 26 марта 2019

Я использую сборку Travis, и она не работает при сборке образа docker mysql: 5.7.27.Dockerfile запускается apt-get update, а затем я получаю сообщение об ошибке W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages 404 Not Found.

Используя curl, я вижу, что он перенаправляет, но URL-адрес перенаправления приводит к 404. Кто-нибудь видел такое поведение иесть лекарство?В принципе, это невозможно исправить, пока Debian не внесет изменения?

➜  ms git:(develop) curl --head http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages
HTTP/1.1 302 Found
Date: Tue, 26 Mar 2019 16:03:04 GMT
Server: Apache
X-Content-Type-Options: nosniff
X-Frame-Options: sameorigin
Referrer-Policy: no-referrer
X-Xss-Protection: 1
Location: http://cdn-fastly.deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages
Content-Type: text/html; charset=iso-8859-1

➜  ms git:(develop) curl --head http://cdn-fastly.deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages
HTTP/1.1 404 Not Found
Server: Apache
X-Content-Type-Options: nosniff
X-Frame-Options: sameorigin
Referrer-Policy: no-referrer
X-Xss-Protection: 1
Content-Type: text/html; charset=iso-8859-1
Via: 1.1 varnish
Content-Length: 316
Accept-Ranges: bytes
Date: Tue, 26 Mar 2019 16:03:17 GMT
Via: 1.1 varnish
Age: 45
Connection: keep-alive
X-Served-By: cache-ams21028-AMS, cache-cdg20741-CDG
X-Cache: HIT, HIT
X-Cache-Hits: 6, 2
X-Timer: S1553616198.734091,VS0,VE0

1 Ответ

33 голосов
/ 26 марта 2019

Это связано с тем, что

, поскольку Wheezy и Jessie недавно были интегрированы в структуру archive.debian.org, теперь мы удаляем всю архитектуру Wheezy и все не-LTS архитектурыДжесси из зеркальной сети, начиная с сегодняшнего дня.

(Как вы можете прочитать здесь )

Решение (согласно https://github.com/debuerreotype/docker-debian-artifacts/issues/66#issuecomment-476616579) состоит в том, чтобы добавитьэта строка:

RUN sed -i '/jessie-updates/d' /etc/apt/sources.list  # Now archived

в ваш файл Docker перед вызовом any apt-get update при использовании debian: jessie. Это удалит хранилище jessie-updates (которое теперь вызывает 404) из sources.list.

Так что пока следующее не работает:

FROM debian:jessie
RUN apt-get update
CMD /bin/sh

Работает как:

FROM debian:jessie
RUN sed -i '/jessie-updates/d' /etc/apt/sources.list  # Now archived
RUN apt-get update
CMD /bin/sh
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...