TGViewer
DeVops Библиотека DeVops Библиотека @devops_teleg · 9.45K subscribers
Post #195 1.27K
🧩 Хитрый DevOps совет: «Всегда фиксируй версии не только в Dockerfile, но и в ENTRYPOINT-скриптах»

Большинство фиксирует версии в Dockerfile:


FROM python:3.12
RUN pip install fastapi==0.115.0


а потом случайно ломают прод, используя в entrypoint что-то вроде:


pip install -U some-lib


или

apt-get update && apt-get install -y curl


Это приводит к ситуации, когда:

staging и prod внезапно начинают отличаться,

контейнеры становятся «недетерминированными»,

одна и та же сборка ведёт себя по-разному в разные дни,

CI/CD перестаёт быть повторяемым.

✔️ Правило, которое нужно запомнить

Если хочешь предсказуемые окружения — фиксируй версии везде, где идёт установка:
в Dockerfile, в entrypoint, в билд-скриптах, в helm-chart, в init-containers.

✔️ Лучший вариант:


никаких apt-get update в рантайме

никаких pip install -U внутри контейнера

все зависимости устанавливаются только на этапе build

все версии – через lock-файлы

Таким образом ты превращаешь свой environment в чистый, детерминированный, воспроизводимый артефакт.
  • ❤ 3
  • 🔥 2
  • 👍 1
  • 🥰 1
More from @devops_teleg
  1. Sep 23, 202620 примеров кода на Rust: чистый и идиоматичный код от функций до traits и многопоточности…
  2. Sep 13, 2026🔥 askWAM - инструмент для тихого получения Microsoft Entra access tokens через Windows We…
  3. Sep 13, 2026🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажет…
  4. Sep 9, 2026📌 GPT-6 Astra прошла Portal за сутки Твиттерский пользователь cozyblaze запустил GPT-6 As…
  5. Sep 2, 2026Записал 1 ГБ, а SSD принял 10. Что такое write amplification В LSM-tree запись не ложится…
  6. Aug 24, 2026Физически корректный ray tracer всего в 99 строках C++ smallpt от Kevin Beason - один из с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →