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

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

RUN apt-get update && apt-get install libboost-dev 

如果我只是添加

 RUN apt-get install libboost-dev 

我得到错误:

 returned a non-zero code: 100 

这背后的理论是什么?

谢谢。

基本映像通常在最后使用apt-get clean进行构build,以删除包列表的本地caching,从而减less映像大小。 当你开始build立这样的图像时,软件包列表是空的, apt-get找不到任何软件包。 apt-get update下载最新的软件包列表,允许随后的apt-get install来查找,下载和安装软件包。