Le dépôt Docker N'a pas de fichier Release sur l'exécution d'apt-get update sur Ubuntu

J'utilise Ubuntu 16.10 et récemment installé Docker (v1.12.4) en utilisant la construction Xenial en suivant les instructions trouvées ici. Je n'ai rencontré aucun problème pour créer des conteneurs, m'assurer 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 tenté de remédier au problème en suivant les conseils trouvés ici et ne peut pas semblent résoudre ce problème.

quelqu'un A rencontré ce avant et il fixe? Si oui, ce qui est nécessaire pour résoudre ce problème?

40
demandé sur Daniel Eagle 2016-12-14 04:40:33

7 réponses

sur linux mint, les instructions officielles ne marchaient pas pour moi. J'ai dû aller dans /etc/apt/sources.list.d/additional-repositories.list et changez serenaxenial.

52
répondu Salami 2017-04-26 16:03:43

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

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

stable"

lsb_release -cs la commande donne un dépôt pour lequel Docker n'a pas de paquet préparé - vous devez le changer en xenial.

la commande correcte pour Linux Mint basée sur Ubuntu Xenial est

sudo add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   xenial \
   stable"
33
répondu Elliott Beach 2017-08-25 12:49:13

Elliot Beach a raison. 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
9
répondu Christopher Govender 2018-02-25 15:04:18

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
8
répondu Nicolas D 2017-01-23 14:22:16

ci-Dessous une liste d'étapes utilisées pour résoudre le problème:

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

    sudo apt-get purge menu fixe-moteur

  2. Enlever le Panneau apt clé:

    sudo apt-key del 58118E89F3A912897C070ADBF76221572C52609D

  3. supprimer le docker.liste des fichier de:

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

  4. supprimer manuellement les fichiers de cache 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 apt et effectuer autoremove:

    sudo apt-get clean & sudo apt-get autoremove

  7. Redémarrer Ubuntu:

    sudo reboot

  8. Exécuter apt-get update:

    sudo apt-get update

  9. Installer apt-transport-https et ca-certificates de nouveau:

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

  10. ajouter la touche apt:

    sudo apt-key adv \ -- keyserver hkp: / / ha.piscine.SKS-keyservers.filet: 80 \ --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

  11. ajouter le docker.liste de fichier:

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

  12. Exécuter apt-get update:

    sudo apt-get update

  13. Installer Docker:

    sudo apt-get install menu fixe-moteur

certes, il y a beaucoup de variables et vos résultats peuvent varier. Toutefois, ces mesures couvrent le plus grand nombre possible de secteurs afin de s'assurer que les 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 beaucoup de ces problèmes. Assurez-vous de vérifier https://docs.docker.com/engine/installation/linux/ubuntu/.

5
répondu Daniel Eagle 2017-07-20 10:21:20

j'ai toujours le même problème. Aucune des réponses ci-dessus semblent pour le résoudre. J'ai ubuntu 16.04, et j'ai suivi les étapes décrites dans la section https://docs.docker.com/install/linux/docker-ce/ubuntu/

je soupçonne qu'elle est liée à un apt-get bug concernant https. Les informations imprimées par apt-get est un peu trompeur.

je pense que Failed to fetch.. peut aussi être traduit comme: problem accessing resource from within an https connection

comment en suis-je arrivé à cette conclusion?:

tout D'abord je suis derrière un mandataire d'entreprise donc j'ai mis le suivant configuration:

/ etc/apt / apt.conf

Acquire::http::proxy "http://squidproxy:8080/";
Acquire::https::proxy "http://squidproxy:8080/";
Acquire::ftp::proxy "ftp://squidproxy:8080/";

Acquire::https::CaInfo     "/etc/ssl/certs/ca-certificates.pem";

/ etc/apt / apt.conf.d / 99proxy

Acquire::http::Proxy {
    localhost DIRECT;
    localhost:9020 DIRECT;
    localhost:9021 DIRECT;
};

j'ai effectué les tests suivants avec des entrées différentes dans sources.list

test d'entrée 1:

deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable

sudo apt-get update

W: The repository 'https://download.docker.com/linux/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://download.docker.com/linux/ubuntu/dists/xenial/stable/binary-amd64/Packages  
E: Some index files failed to download. They have been ignored, or old ones used instead.

echec

test d'entrée 2:

deb [arch=amd64] http://localhost:9020/linux/ubuntu xenial stable

/ etc/apache2/sites-enabled / apt-proxy.conf

# http to https reverse proxy configuration.
Listen 9020
<VirtualHost *:9020>
SSLProxyEngine On
# pass from squid proxy
ProxyRemote https://download.docker.com/ http://squidproxy:8080
ProxyPass / https://download.docker.com/
ProxyPassReverse / https://download.docker.com/
ErrorLog ${APACHE_LOG_DIR}/apt-proxy-error.log
CustomLog ${APACHE_LOG_DIR}/apt-proxy-access.log combined
</VirtualHost>

sudo apt-get update

Hit:1 ..
Hit:2 ..
  ...                                                              
Hit:7 http://localhost:9020/linux/ubuntu xenial InRelease                
Get:8 ...
Fetched 323 kB in 0s (419 kB/s)
Reading package lists... Done

Succès

test d'entrée 3:

deb [arch=amd64] https://localhost:9021/linux/ubuntu xenial stable

/ etc/apache2/sites-enabled / apt-proxy.conf

# https to https revere proxy
Listen 9021
<VirtualHost *:9021>
# serve on https
SSLEngine on
SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLProxyEngine On
# pass from squid proxy
ProxyRemote https://download.docker.com/ http://squidproxy:8080
ProxyPass / https://download.docker.com/
ProxyPassReverse / https://download.docker.com/
ErrorLog ${APACHE_LOG_DIR}/apt-proxy-error.log
CustomLog ${APACHE_LOG_DIR}/apt-proxy-access.log combined
</VirtualHost>

sudo apt-get update

W: The repository 'https://localhost:9021/linux/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://localhost:9021/linux/ubuntu/dists/xenial/stable/binary-amd64/Packages  
E: Some index files failed to download. They have been ignored, or old ones used instead.

echec


dans les cas ci-dessus l'url qui apt-get Failed to fetch et aussi l' Release fichier, étaient en fait accessibles à partir de browser/wget/curl utilisant la même configuration de proxy.

Le fait que apt-get fonctionne uniquement avec l'url mandataire inverse de http, implique qu'il y a un question accéder aux ressources à partir d'une connexion https.

Je ne sais pas ce que ce problème est mais apt-get devrait afficher un message plus informatif ( apt est encore moins verbeux).

Note: le cas 1 montre que le proxyCONNECT a réussi, et aucun RST n'a été envoyé, mais bien sûr les fichiers ne pouvaient pas être lus.

1
répondu Marinos An 2018-06-26 13:48:45

j'ai également eu un problème similaire. Quelqu'un pourrait trouver ce qui a fonctionné pour moi utile.

Machine exécute Ubuntu 16.04 et a Docker CE. Après avoir regardé les réponses et les liens fournis ici, en particulier à partir du lien du site Docker donné par Elliot Beach, j'ai ouvert mon /etc/apt/sources.liste et l'examina.

Le fichier a la fois deb [arch=amd64] https://download.docker.com/linux/ubuntu (lsb_release -cs) stable et deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable.

puisque le second était ce qu'il fallait, j'ai simplement commenté le premier, sauvé le document et maintenant la question est réglée. Comme test, je suis retourné dans le même document, j'ai enlevé le signe de commentaire et j'ai couru sudo apt-get update nouveau. Le problème est revenu quand j'ai fait ça.

donc pour récapituler : non seulement j'ai eu mon nom de distribution Ubuntu parent comme indiqué sur le site Docker, mais j'ai aussi commenté la ligne contenant encore (lsb_release-cs).

0
répondu Simeon 2018-08-20 07:15:56