Репозитории Debian APT - это внешние ресурсы, которые регулярно меняются, поэтому, если вы docker build
на другом компьютере (или повторите docker build --no-cache
на одном компьютере), вы можете получить разные версии пакетов.
С одной стороны, этого трудно избежать. И репозитории Debian, и Ubuntu оперативно удаляют старые версии пакетов: причина в apt-get update
и install
в одной и той же команде RUN
заключается в том, что вчерашний индекс пакетов может ссылаться на файлы пакетов, которых больше нет в сегодняшнем репозитории. В принципе, вы можете обойти эту проблему, вручную загрузив каждый .deb
файл, который вам нужен, и вручную dpkg --install
их, пропустив сетевой уровень APT.
С другой стороны, это обычно не имеет значения. Как только вы используете выпущенную версию Debian или Ubuntu, обновления пакетов, как правило, ограничиваются обновлениями безопасности и исправлениями ошибок; вы не получите другой основной версии пакета в одной системе против другой. Это не то, что я видел в качестве проблемы, за исключением того, что наличие кэшированного слоя apt-get update
может привести к тому, что вы пропустите обновление безопасности, которое вы, возможно, хотели.