您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Docker中,apt-get安装失败,并显示“无法获取http://archive.ubuntu.com/…404未找到”错误。为什么?我们如何才能克服它?

在Docker中,apt-get安装失败,并显示“无法获取http://archive.ubuntu.com/…404未找到”错误。为什么?我们如何才能克服它?

您已声明Dockerfile包含RUN apt-get -yupdate其自身的RUN指令。但是,由于构建缓存,如果对Dockerfile的所有更改在文件的后面发生,则在docker build运行时,Docker将重用上次RUN apt-get -y update执行的创建的中间映像,而不是再次运行命令,因此所有最近添加或编辑的命令apt-get install行将使用旧数据,从而导致您观察到的错误

有两种方法可以解决此问题:

--no-cache选项传递给docker build,强制在每次构建映像时运行Dockerfile中的每个语句。

重写Dockerfile以将apt-get命令合并为一条RUN指令:RUN apt-get update && apt-get install foo bar ...。这样,无论何时编辑要安装的软件包列表,docker build都将被迫重新执行整个RUN指令,从而apt-get update在安装之前重新运行。

Dockerfile最佳实践页面实际上有上一整节apt- get的Dockerfiles命令。我建议你阅读。

其他 2022/1/1 18:23:25 有622人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶