update compose ubuntu docker apt-get

compose - El repositorio de Docker no tiene un archivo de lanzamiento al ejecutar apt-get update en Ubuntu



uninstall docker ubuntu (9)

Estoy usando Ubuntu 16.10 y recientemente instalé Docker (v1.12.4) usando la compilación Xenial siguiendo las instrucciones que se encuentran here . No he encontrado ningún problema al crear contenedores, asegurando que se reinicien automáticamente, etc.

Sin embargo, ahora cada vez que ejecuto apt-get update recibo el siguiente mensaje de error:

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.

He tratado de solucionar el problema siguiendo los consejos que se encuentran here y parece que no puedo resolver este problema.

¿Alguien ha encontrado esto antes y lo arregló? Si es así, ¿qué se necesita para resolver esto?


A continuación se muestra una lista de los pasos utilizados para resolver el problema:

  1. Elimine Docker (esto no eliminará imágenes, contenedores, volúmenes o archivos de configuración personalizados):

    sudo apt-get purge docker-engine

  2. Elimine la clave de Docker apt:

    sudo apt-key del 58118E89F3A912897C070ADBF76221572C52609D

  3. Elimine el archivo docker.list:

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

  4. Eliminar manualmente los archivos de caché de apt:

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

  5. Eliminar apt-transport-https y ca-certificados :

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

  6. Limpie apt y realice autoremove:

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

  7. Reiniciar Ubuntu:

    reinicio de sudo

  8. Ejecute apt-get update:

    sudo apt-get update

  9. Instale apt-transport-https y ca-certificados nuevamente:

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

  10. Agregue la clave apt:

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

  11. Agregue el archivo docker.list nuevamente:

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

  12. Ejecute apt-get update:

    sudo apt-get update

  13. Instalar Docker:

    sudo apt-get install docker-engine

Por supuesto, hay muchas variables y sus resultados pueden variar. Sin embargo, estos pasos cubren la mayor cantidad de áreas posible para garantizar que los posibles puntos problemáticos se eliminen de manera que la probabilidad de éxito sea mayor.

Actualización 6/7/2017

Parece que las versiones más nuevas de Docker están utilizando un proceso de instalación diferente que debería eliminar muchos de estos problemas. Asegúrese de visitar https://docs.docker.com/engine/installation/linux/ubuntu/ .


Como se sugiere en el documento oficial de docker también. Intenta ejecutar esto:

  • sudo vi /etc/apt/sources.list

Luego elimine / comente cualquier ( deb [arch=amd64] https://download.docker.com/linux/ubuntu/ xenial stable ) tal entrada en las últimas líneas del archivo.

Luego, en la terminal, ejecute este comando:

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

  • sudo apt-get update

Funcionó en mi caso.


Elliot Beach es correcto. Gracias Elliot

Aquí está el código de mi 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


En Linux mint, las instrucciones oficiales no me funcionaron. Tuve que ir a /etc/apt/sources.list.d/additional-repositories.list y cambiar serena a xenial .


La mejor comprobación para este problema: (si está detrás del proxy), (probado en ubuntu 18.04), (también funcionará en otros ubuntu), (principalmente error en: https_proxy = "http://192.168.0.251:808/)

  1. Revisa estos archivos:

    #sudo cat /etc/environment : http_proxy="http://192.168.0.251:808/" https_proxy="http://192.168.0.251:808/" ftp_proxy="ftp://192.168.0.251:808/" socks_proxy="socks://192.168.0.251:808/" #sudo cat /etc/apt/apt.conf : Acquire::http::proxy "http://192.168.0.251:808/"; Acquire::https::proxy "http://192.168.0.251:808/"; Acquire::ftp::proxy "ftp://192.168.0.251:808/"; Acquire::socks::proxy "socks://192.168.0.251:808/";

  2. Agregar repositorio estable de Docker

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

  3. Ejecute apt-get update:

    #sudo apt-get update

  4. Compruebe Docker CE

    #apt-cache policy docker-ce

  5. instalar Docker

    #sudo apt-get install docker-ce


Para Linux Mint, este problema se menciona en el sitio web de Docker :

Nota: El subcomando lsb_release -cs a continuación devuelve el nombre de su distribución de Ubuntu, como xenial. A veces, en una distribución como Linux Mint, es posible que tenga que cambiar $ (lsb_release -cs) a su distribución principal de Ubuntu. Por ejemplo, si está usando Linux Mint Rafaela, podría usar confianza. amd64:

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

El comando lsb_release -cs proporciona un repositorio para el que Docker no tiene un paquete preparado; debe cambiarlo a xenial.

El comando correcto para Linux Mint 18 que se basa en Ubuntu 16.04 Xenial es

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


También tuve un problema similar. Alguien puede encontrar lo que funcionó para mí útil.

La máquina está ejecutando Ubuntu 16.04 y tiene Docker CE. Después de leer las respuestas y los enlaces proporcionados aquí, especialmente desde el enlace del sitio web de Docker proporcionado por Elliot Beach, abrí mi /etc/apt/sources.list y lo examiné.

El archivo tenía tanto deb [arch=amd64] https://download.docker.com/linux/ubuntu (lsb_release -cs) stable como deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable

Como el segundo era lo que se necesitaba, simplemente comenté el primero, guardé el documento y ahora el problema está solucionado. Como prueba, volví al mismo documento, eliminé el signo de comentario y ejecuté sudo apt-get update nuevamente. El problema regresó cuando hice eso.

Para resumir: no solo tenía mi nombre de distribución de Ubuntu principal como se indica en el sitio web de Docker, sino que también comenté la línea que todavía contiene (lsb_release -cs).


Todavía tengo el mismo problema. Ninguna de las respuestas anteriores parece resolverlo. Tengo ubuntu 16.04 y sigo los pasos descritos en https://docs.docker.com/install/linux/docker-ce/ubuntu/

Sospecho que está relacionado con un error de apt-get respecto a https. La información que imprime apt-get es un poco engañosa.

Creo que no se Failed to fetch.. también se puede traducir como: problem accessing resource from within an https connection

¿Cómo llegué a esta conclusión?

En primer lugar, estoy detrás de un proxy corporativo, así que configuré la siguiente configuración:

/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; };

Realicé las siguientes pruebas con diferentes entradas en sources.list

prueba de entrada 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.

Fracaso

prueba de entrada 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

Éxito

prueba de entrada 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.

Fracaso

En los casos anteriores, la URL que apt-get no Failed to fetch y también el archivo Release , en realidad eran accesibles desde el browser / wget / curl utilizando la misma configuración de proxy.
El hecho de que apt-get funcione solo con la URL del proxy inverso http, implica que hay algún problema para acceder a los recursos desde una conexión https .
No sé cuál es este problema, pero apt-get debería mostrar un mensaje más informativo ( apt es aún menos detallado).

Nota: el caso 1 de Wireharking mostró que el proxy CONNECT fue exitoso y no se envió ningún RST, pero por supuesto los archivos no se pudieron leer.


Vi una publicación interesante de Ikraider aquí que resolvió mi problema: here

Las instrucciones del sitio web son incorrectas, esto es lo que funciona 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