148 votes

Le dépôt Docker ne possède pas de fichier de version lors de l'exécution d'apt-get update sur Ubuntu

J'utilise Ubuntu 16.10 et j'ai récemment installé Docker (v1.12.4) en utilisant le build Xenial en suivant les instructions trouvées. ici . Je n'ai rencontré aucun problème pour créer des conteneurs, faire en sorte qu'ils redémarrent automatiquement, etc.

Cependant, maintenant, chaque fois que je lance apt-get update Je reçois le message d'erreur suivant :

W: The repository 'https://apt.dockerproject.org/repo ubuntu-xenial Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch https://apt.dockerproject.org/repo/dists/ubuntu-xenial/main/binary-amd64/Packages
E: Some index files failed to download. They have been ignored, or old ones used instead.

J'ai essayé de remédier au problème en suivant les conseils trouvés ici et ne semble pas pouvoir résoudre ce problème.

Quelqu'un a-t-il déjà rencontré ce problème et l'a-t-il résolu ? Si oui, que faut-il faire pour le résoudre ?

2 votes

Voyez si cela peut vous aider - askubuntu.com/questions/768569/

0 votes

@Rao, malheureusement cela ne résout pas le problème. J'obtiens toujours le même message d'erreur après avoir supprimé la clé, l'entrée de la liste des sources, exécuté apt-get update à nouveau, puis répété les étapes d'installation de Docker.

0 votes

@Rao, j'ai trouvé la solution et ajouté la réponse. Cependant, l'article que vous avez mentionné peut être utile à d'autres personnes qui tombent sur ma question donc +1. Merci.

128voto

Salami Points 164

Sous Linux Mint, les instructions officielles n'ont pas fonctionné pour moi. J'ai dû aller dans /etc/apt/sources.list.d/additional-repositories.list et le changement serena à xenial pour refléter mon nom de code Ubuntu. En fonction de votre variante de Debian, de sa version, et de la méthode d'installation originale suivie, vous devrez peut-être modifier /etc/apt/sources.list.d/docker.list à la place.

Vous pouvez généralement trouver le nom de code approprié en exécutant l'une de plusieurs commandes différentes. Dans les exemples suivants, focal est le nom de code :

$ grep CODENAME /etc/os-release
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

$ lsb_release -c
Codename:   focal

# NOTE: On Ubuntu 20.04.2, /etc/os-release is symlinked to /usr/lib/os-release and
#       lsb_release reads from /usr/lib/os-release.

2 votes

Juste une note, pour une raison quelconque il y avait une ligne de docker avec trusty serena dans ce fichier pour moi. J'ai peut-être essayé de procéder de la même manière il y a quelque temps et j'ai oublié. En tout cas, j'ai dû supprimer le trusty sinon il se plaint de dépendances non résolues.

5 votes

Merci pour la référence au répertoire sources.list.d. Correction du problème de xenial Ubuntu avec "sudo rm /etc/apt/sources.list.d/docker*" . Maintenant apt-get update fonctionne enfin.

3 votes

De même pour Debian : remplacez "debian 10 stable" par "debian stretch stable" dans le fichier "/etc/apt/sources.list.d/docker.list" et cela devrait fonctionner.

95voto

Elliott Beach Points 1777

Pour Linux Mint, ce problème est en fait référencé dans le fichier Site web de Docker :

Note : Le lsb_release -cs La sous-commande ci-dessous renvoie le nom de votre distribution Ubuntu, tel que xenial . Parfois, dans une distribution comme Linux Mint, vous pouvez être amené à modifier $(lsb_release -cs) à votre distribution distribution Ubuntu. Par exemple, si vous utilisez Linux Mint Rafaela, vous pouvez utiliser trusty.

amd64 :

$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

Le site lsb_release -cs donne un dépôt pour lequel Docker n'a pas de paquetage préparé - vous devez le changer pour xenial.

La commande correcte pour Linux Mint 18 qui est basé sur Ubuntu 16.04 Xenial est

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   xenial \
   stable"

1 votes

La commande que vous avez fournie est la même que celle qui existe sur le site docker. Cependant, elle ne fonctionne pas pour moi sur ubuntu 16.04. L'entrée générée dans sources.list est : deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable Mais toujours le même problème. J'aimerais que quelqu'un puisse expliquer pourquoi il ne trouve pas Release à l'intérieur de https://download.docker.com/linux/ubuntu/dists/xenial/stable‌​/binary-amd64/ . Triste : Après tant d'années d'utilisation d'ubuntu, je n'arrive toujours pas à comprendre comment les choses fonctionnent avec les chemins de dépôt.

0 votes

Cela a résolu mes problèmes pour faire avancer les choses sur la nouvelle distro WLinux également.

39voto

Elliot Beach est correct. Merci Elliot.

Voici le code de mon Gist .

sudo apt-get remove docker docker-engine docker.io

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
xenial \
stable"

sudo apt-get update

sudo apt-get install docker-ce

sudo docker run hello-world

6 votes

Faites attention en exécutant ces commandes si vous n'exécutez pas xenial. Cette commande serait plus sûre add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

1 votes

Dans certains cas (par exemple, Mint), l'équipe de la lsb_release -cs renvoie à tara qui n'a pas de version supportée, ce qui fait que le remplacement spécifique par xenial comme indiqué (ou fidèle) est une solution de rechange utile.

0 votes

L'utilisateur anciennement connu sous le nom d'Elliott Beach sera dorénavant appelé Warlike Chimpanzee.

10voto

Nicolas D Points 807

J'ai vu un post intéressant d'Ikraider ici qui a résolu mon problème : https://github.com/docker/docker/issues/22599

Les instructions du site web sont erronées, voici ce qui fonctionne en 16.04 :

curl -s https://yum.dockerproject.org/gpg | sudo apt-key add
apt-key fingerprint 58118E89F3A912897C070ADBF76221572C52609D
sudo add-apt-repository "deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -cs) main"
sudo apt-get update
sudo apt-get install docker-engine=1.13.0-0~ubuntu-xenial

7voto

GetchaDEAGLE Points 74

Vous trouverez ci-dessous une liste des étapes utilisées pour résoudre le problème :

  1. Supprimer Docker (cela ne supprimera pas les images, les conteneurs, les volumes ou les fichiers de configuration personnalisés) :

    sudo apt-get purge docker-engine

  2. Supprimez la clé apt de Docker :

    sudo apt-key del 58118E89F3A912897C070ADBF76221572C52609D

  3. Supprimez le fichier docker.list :

    sudo rm /etc/apt/sources.list.d/docker.list

  4. Supprimez manuellement les fichiers cache d'apt :

    sudo rm /var/lib/apt/lists/apt.dockerproject.org_repo_dists_ubuntu-xenial_*

  5. Supprimer apt-transport-https et ca-certificats :

    sudo apt-get purge apt-transport-https ca-certificats

  6. Nettoyer l'apt et effectuer l'autoremove :

    sudo apt-get clean && sudo apt-get autoremove

  7. Redémarrez Ubuntu :

    sudo reboot

  8. Exécutez apt-get update :

    sudo apt-get update

  9. Installez à nouveau apt-transport-https et ca-certificates :

    sudo apt-get install apt-transport-https ca-certificats

  10. Ajoutez la clé apt :

    sudo apt-key adv \ --keyserver hkp://ha.pool.sks-keyservers.net:80 \ --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

  11. Ajoutez à nouveau le fichier docker.list :

    echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

  12. Exécutez apt-get update :

    sudo apt-get update

  13. Installez Docker :

    sudo apt-get install docker-engine

Bien sûr, il y a beaucoup de variables et vos résultats peuvent varier. Cependant, ces étapes couvrent autant de zones que possible afin de s'assurer que les zones à problèmes potentiels sont nettoyées et que les chances de succès sont plus élevées.

Mise à jour 7/6/2017

Il semble que les nouvelles versions de Docker utilisent un processus d'installation différent qui devrait éliminer bon nombre de ces problèmes. N'oubliez pas de consulter https://docs.docker.com/engine/installation/linux/ubuntu/ .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X