允许DockercachingRUN结果

我有一个Dockerfile中的这些命令:

RUN apt-get -y update #1 RUN apt-get -y install sudo #2 RUN sudo apt-get -y update #3 RUN sudo apt-get -y upgrade #4 RUN sudo apt-get install -y sqlite3 libsqlite3-dev #5 

看起来好像Docker不能caching第3行或第4行

有没有一种方法可以让Docker以某种方式caching这些结果? 它每隔一段时间就会讲一两分钟更新/升级,这会让我发疯。

首先,您应该避免RUN apt-get升级或dist-upgrade,因为许多来自基本映像的“基本”软件包不会在非特权容器内升级。 如果基本映像中包含的软件包过时,请联系维护人员。

我认为你只需要在Dockerfile中运行apt-get update一次,并且总是将RUN apt-get update与apt-get install在相同的RUN语句中结合起来

  RUN apt-get update && apt-get install -y \ sudo \ sqlite3 \ libsqlite3-dev