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?
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 serena
xenial
.
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"
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
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
ci-Dessous une liste d'étapes utilisées pour résoudre le problème:
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
Enlever le Panneau apt clé:
sudo apt-key del 58118E89F3A912897C070ADBF76221572C52609D
supprimer le docker.liste des fichier de:
sudo rm/etc/apt / sources.liste.d / docker.liste
supprimer manuellement les fichiers de cache apt:
sudo rm /var/lib/apt/lists / apt.dockerproject.org_repo_dists_ubuntu-xenial_*
Supprimer apt-transport-https et ca-certificats:
sudo apt-get purge apt-transport-https ca-certificats
nettoyer apt et effectuer autoremove:
sudo apt-get clean & sudo apt-get autoremove
Redémarrer Ubuntu:
sudo reboot
Exécuter apt-get update:
sudo apt-get update
Installer apt-transport-https et ca-certificates de nouveau:
sudo apt-get install apt-transport-https ca-certificates
ajouter la touche apt:
sudo apt-key adv \ -- keyserver hkp: / / ha.piscine.SKS-keyservers.filet: 80 \ --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
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
Exécuter apt-get update:
sudo apt-get update
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/.
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 proxy
CONNECT
a réussi, et aucun RST n'a été envoyé, mais bien sûr les fichiers ne pouvaient pas être lus.
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).