Tengo el siguiente Dockerfile que usa la última imagen de Ubuntu extraída de dockerhub:
FROM ubuntu:latest RUN apt-get update && apt-get install -y g++ llvm lcov
cuando ejecuto el comando de compilación docker, ocurren los siguientes errores:
Err:2 http://archive.ubuntu.com/ubuntu bionic InRelease Se encontró al menos una firma no válida.
Err:1 http://security.ubuntu.com/ubuntu bionic-security InRelease Se encontró al menos una firma no válida.
Err:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease Se encontró al menos una firma no válida.
Err:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease Se encontró al menos una firma no válida.
Leyendo listas de paquetes...
W: error de GPG: http://archive.ubuntu.com/ubuntu bionic InRelease: se encontró al menos una firma no válida. E: El repositorio ' http://archive.ubuntu.com/ubuntu bionic InRelease' no está firmado.
W: error de GPG: http://security.ubuntu.com/ubuntu bionic-security InRelease: se encontró al menos una firma no válida. E: El repositorio ' http://security.ubuntu.com/ubuntu bionic-security InRelease' no está firmado.
W: error de GPG: http://archive.ubuntu.com/ubuntu bionic-updates InRelease: se encontró al menos una firma no válida. E: El repositorio ' http://archive.ubuntu.com/ubuntu bionic-updates InRelease' no está firmado.
W: error de GPG: http://archive.ubuntu.com/ubuntu bionic-backports InRelease: se encontró al menos una firma no válida. E: El repositorio ' http://archive.ubuntu.com/ubuntu bionic-backports InRelease' no está firmado.
Leí aquí https://superuser.com/questions/1331936/how-can-i-get-past-a-repository-is-not-signed-message-when-attempting-to-upgr que puede pasar este error usando --allow-unauthenitcated o --allow-insecure-repositories pero ambos me parecen soluciones alternativas que pueden comprometer la seguridad del contenedor.
EDITAR
Intenté extraer ubuntu: 18.04, ubuntu: 19: 04, ubuntu: 19.10 mismo error con un nombre de distribución diferente
Aparentemente, mi partición raíz estaba llena (tal vez intenté muchas veces descargar paquetes a través de apt), y ejecutar sudo apt clean
resolvió el problema
Eliminé muchas imágenes y luego solucionó mi problema.
Lo intenté de nuevo más tarde y funcionó.
Desde https://github.com/docker-library/php/issues/898#issuecomment-539234070 :
Eso generalmente significa que el espejo tiene problemas (posiblemente parcialmente desactualizado; es decir, no está completamente sincronizado con otros espejos) y, a menudo, se soluciona solo.
Como @Danila y @Andriy señalaron, este problema se puede solucionar fácilmente ejecutando:
docker image prune -f docker container prune -f
pero publicar esta respuesta, ya que ejecutar solo uno de ellos no funcionó para mí (en MacOS X ), pero ejecutar ambos sí.
Si usa Docker Desktop, cuide el tamaño máximo de imagen de disco que especificó en la configuración. Puede causar el problema si se llena durante la compilación.
Arreglado por
docker image prune -f
parece que docker tiene un límite en el tamaño máximo de caché de apt en el sistema host
Tuve este problema en una de mis dos máquinas. Haciendo un ls -ld /tmp
obtuve
drwxrwxrwt 3 root root 4096 May 15 20:46 /tmp
para el trabajador y
drwxr-xr-t 1 root root 4096 May 26 05:44 /tmp
por el que falla. Después de hacer chmod 1777 /tmp
, ¡funcionó!
EDITAR:
Entonces, me sumergí un poco más en este problema y me di cuenta de que había algo fundamentalmente mal. Puse mis problemas en otra pregunta y luego encontré la respuesta que resolvió esto yo mismo: https://stackoverflow.com/a/62088961/7387935
El punto clave aquí es que en la máquina que funcionaba correctamente tenía aufs como controlador de almacenamiento y en la defectuosa era overlay2. Después de cambiar eso, todos los permisos eran correctos.
Ejecutar el siguiente comando solucionó el problema para mí:
docker system prune --force
La --force
significa poda no interactiva.
Además, es posible que desee probar los comandos de reducción de volumen:
docker volume prune --force
Para Raspbian, actualice libseccomp
manualmente en el sistema host usando:
curl http://ftp.us.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_2.5.1-1_armhf.deb --output libseccomp2_2.5.1-1_armhf.deb sudo dpkg -i libseccomp2_2.5.1-1_armhf.deb
Esto resolvió mi problema.
La publicación original está aquí .
Tuve que ejecutar el contenedor con --security-opt seccomp:unconfined
.
Esto me ayuda:
docker volume prune