为什么我们需要在Dockerfile中运行安装之前运行更新?

Nov*_*Cai 2 dependencies docker

当我尝试在Dockerfile中为我的应用程序指定Boost库时,我必须这样做

RUN apt-get update && apt-get install libboost-dev
Run Code Online (Sandbox Code Playgroud)

如果我只是添加

RUN apt-get install libboost-dev
Run Code Online (Sandbox Code Playgroud)

我收到了错误:

returned a non-zero code: 100
Run Code Online (Sandbox Code Playgroud)

这背后的理论是什么?

谢谢.

mus*_*cio 10

基本图像通常apt-get clean在最后构建,以删除包列表的本地缓存,从而减少图像大小.当您开始构建此类图像时,包列表为空,apt-get无法找到任何包.apt-get update下载最新的软件包列表,允许后续apt-get install查找,下载和安装软件包.