未在docker生成中登录存储库

未在docker生成中登录存储库,docker,ubuntu,apt,Docker,Ubuntu,Apt,我有以下Dockerfile,它使用从dockerhub中提取的最新Ubuntu图像: FROM ubuntu:latest RUN apt-get update && apt-get install -y g++ llvm lcov 启动docker build命令时,出现以下错误: Err:2仿生释放酶 至少遇到一个无效签名 错误:1仿生安全保护 至少遇到一个无效签名 错误:Release中有3个仿生更新 至少遇到一个无效签名 错误:RELEASE中有4个仿生后端

我有以下Dockerfile,它使用从dockerhub中提取的最新Ubuntu图像:

FROM ubuntu:latest  
RUN apt-get update  && apt-get install -y  g++ llvm lcov 
启动docker build命令时,出现以下错误:

Err:2仿生释放酶 至少遇到一个无效签名

错误:1仿生安全保护 至少遇到一个无效签名

错误:Release中有3个仿生更新 至少遇到一个无效签名

错误:RELEASE中有4个仿生后端口 至少遇到一个无效签名

正在阅读软件包列表

W:GPG错误:仿生InRelease:至少遇到一个无效签名。 E:存储库“bionic InRelease”未签名

W:GPG错误:删除中的仿生安全性:至少遇到一个无效签名。 E:存储库“仿生安全InRelease”未签名

W:GPG错误:删除中的仿生更新:至少遇到一个无效签名。 E:存储库“仿生更新升级”未签名

W:GPG错误:Release中的仿生后端口:至少遇到一个无效签名。 E:存储库“bionic backports InRelease”未签名

我在这里读到,您可以使用--allow unauthenticated或--allow unsecurity repositories传递此错误,但在我看来,这两种方法都可能会压缩容器的安全性

编辑


尝试拉取ubuntu:18.04、ubuntu:19:04、ubuntu:19.10不同发行名的相同错误

显然我的根分区已满(可能我尝试过多次通过apt下载软件包),运行
sudo apt clean
解决了问题

docker image prune -f

看来docker对主机系统上的最大apt缓存大小有限制

我在两台机器中的一台上遇到了这个问题。做一个
ls-ld/tmp

drwxrwxrwt 3 root root 4096 May 15 20:46 /tmp
对于工作人员和

drwxr-xr-t 1 root root 4096 May 26 05:44 /tmp
对于失败的一个。在我做了
chmod1777/tmp
之后,它成功了

编辑:

因此,我深入研究了这个问题,意识到有些根本性的错误。我把我的问题放在另一个问题上,后来我自己找到了解决这个问题的答案:

这里的关键点是,在正常工作的机器上,我使用aufs作为存储驱动程序,而在有故障的机器上,它被覆盖了2。更改后,所有权限都正确。

自Docker api v1.25+(发布日期:2019年11月18日)以来 运行下面的命令修复了我的问题:

docker system prune --force

--force
标志代表非交互式修剪。

我稍后再试了一次,它成功了

发件人:

这通常意味着镜像有问题(可能部分失效) 指日期;即未与其他镜像完全同步)并且经常 清理自己


我删除了很多图片,然后它解决了我的问题。

正如@Danila和@Andrey指出的,这个问题可以通过以下方式轻松解决:

docker image prune -f
docker container prune -f

但是发布这个答案,因为只运行其中一个对我不起作用(在MacOS X上),但是运行两个都不起作用。

如果使用Docker Desktop,请注意在设置中指定的最大磁盘映像大小。如果它在构建过程中变满,可能会导致问题


对于Raspbian,使用以下方法在主机系统上手动升级
libseccomp

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
这解决了我的问题


原始帖子是。

你是在代理后工作吗?@7_R3X不,至少是
最新的
你试过
ubuntu:18.04
?是的,我试过19.04,19.10我试过拉一个更新的图像,它对我有效。使用
docker-image-prune
docker-container-prune
为我解决了图像中的一些错误。
docker-image-prune
在我的磁盘上保存了52GB并使我的构建再次运行,谢谢Antonio和Erik!有人能解释为什么会发生这种失败吗?这就挑战了我对docker的理解:在运行之间似乎保留了一些状态,这些状态并不能使运行具有确定性。我尝试了上述所有操作,但我的问题在取消docker构建缓存后得到了解决。首先,我通过:
docker系统df
查看我的docker使用情况。这告诉我我的构建缓存是50+GB。然后我用docker builder prune对它进行了核弹处理。。。这就是解决方案,我盯着所有东西看,但没有意识到我的根分区已经用完了空间。谢谢你——这(增加磁盘映像大小资源)和修剪我的系统都为我在Docker/Mac上解决了这个问题。