En Docker, ¿por qué se recomienda ejecutar la actualización `apt-get` en Dockerfile?

Lo siento, muy nuevo en cosas de server, pero muy curioso. ¿Por qué ejecutar apt-get update al build un contenedor?

Supongo que es por security, si ese es el caso, eso responderá la pregunta.

apt-get update garantiza que todas las fonts y dependencies de los packages estén en su última versión, no actualiza los packages existentes que se han instalado. Se recomienda que siempre ejecute apt-get update antes de ejecutar una installation de apt-get install Esto es así cuando se ejecuta la apt-get install se debe usar la última versión del package.

RUN apt-get update -q -y && apt-get install -q -y <your-program>

(las banderas -q -y solo significan que el process apt se ejecutará silenciosamente sin pedirle confirmaciones, ya que esto provocaría un error en el process Docker)

Primero, hagamos una distinción entre apt-get update y apt-get upgrade . La update es para get el último índice del package. Esto es para que no se encuentre con errores de packages desactualizados o networkingactados al hacer una installation de apt-get install .

La upgrade está pasando por un package de actualización. Por lo general, también requiere una update anterior para tener el índice del package actualizado. Esto se puede hacer si hay problemas de package o security con los packages ya instalados.

Por lo general, se ve mucha update en las comstackciones porque la image base puede tener un índice de package bastante desactualizado y hacer fallar una installation de apt-get install .

La upgrade sería less común. Pero aún podría hacerse si desea asegurarse de que estén instalados los últimos packages.