82 votes

Problème de récupération de http://deb.debian.org/debian/dists/jessie-updates/InRelease avec docker

J'essaie d'exécuter la commande docker-compose build

J'obtiens ce résultat :

Step 4/8 : RUN apt-get update && apt-get install -y google-chrome-stable
 ---> Running in ee9551cd38b9
Ign http://dl.google.com stable InRelease

Get:1 http://security.debian.org jessie/updates InRelease [44.9 kB]

.....

Get:9 http://deb.debian.org jessie/main amd64 Packages [9098 kB]

W: Fetched 10.1 MB in 6s (1519 kB/s)
Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/InRelease  Unable to find expected entry 'main/binary-amd64/Packages' in Release file (Wrong sources.list entry or malformed file)

E: Some index files failed to download. They have been ignored, or old ones used instead.
ERROR: Service 'webpack' failed to build: The command '/bin/sh -c apt-get update && apt-get install -y google-chrome-stable' returned a non-zero code: 100

Quelqu'un a une idée ?

136voto

Ben Hillier Points 1495

J'ai rencontré ce problème aussi ce matin. J'ai pu le résoudre en combinant les conseils des deux billets suivants :

Comment résoudre l'erreur 404 dans AWS apg-get pour debian jessie fetch ?

https://stackoverflow.com/questions/46406847/docker-how-to-add-backports-to-sources-list-via-dockerfile

La solution :

Dans votre Dockerfile avant d'exécuter tout apt ajoutez la ligne suivante :

RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list

Cela permet apt pour fonctionner à partir des nouvelles sources.

Il est possible que le debian:jesse L'image Docker sera mise à jour pour fonctionner correctement dans un avenir proche, mais d'ici là, vous pourrez continuer à travailler.

21voto

xverges Points 361

L'équipe Debian l'a corrigé . Le fait de tirer à nouveau l'image pour qu'elle soit mise à jour a réglé le problème pour moi :

docker pull debian:jessie

Avertissement du billet lié :

Aussi, veuillez migrer hors de Jessie dès que possible - l'heure tourne !

6voto

Brandon Belvin Points 360

Ma solution

Solution rapide

Écraser sources.list n'est pas ce que je veux :

sed '/jessie-updates/s/^/# /' -i /etc/apt/sources.list

ne fera que commenter les lignes contenant jessie-updates et gardez tout le reste !

deb http://ftp.ch.debian.org/debian/ jessie main contrib
deb-src http://ftp.ch.debian.org/debian/ jessie main contrib

deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib

# # jessie-updates, previously known as 'volatile'
# deb http://ftp.ch.debian.org/debian/ jessie-updates main contrib
# deb-src http://ftp.ch.debian.org/debian/ jessie-updates main contrib

Je continue donc à utiliser les miroirs locaux tout en Debian jessie restent soutenus.

Mise à niveau vers extensible

Ensuite, pour l'amélioration de l'étirement, j'ai juste

sed 's/jessie/stretch/' -i.jessie /etc/apt/sources.list

Cela créera un source.list.jessie

alors je peux décommenter stretch-updates lignes :

sed '/stretch-updates/s/^# //' -i /etc/apt/sources.list

2voto

Xavier Fox Points 21

La meilleure solution serait d'utiliser des images build-pack dans vos conteneurs docker pour jessie afin de pouvoir faire quelque chose comme :

FROM buildpack-deps:jessie

Vous pouvez les obtenir aquí

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X