ru.dojiksi.ru

Что такое Docker простыми словами и зачем он реально нужен?

Все вокруг говорят «заверни в докер» — а я не понимаю чем он отличается от виртуалки. Объясните на пальцах: что внутри контейнера, чем хорош, когда не стоит использовать.

1 ответ

Контейнер — это запакованное приложение со всем что ему нужно: код, зависимости, конкретная версия Python/Node, нужные библиотеки. Один файл (image) можно запустить на любом Linux/Mac/Win — везде одинаково.

Отличие от виртуалки: VM поднимает целую ОС поверх твоей (медленно, тяжело — сотни МБ памяти на пустой инстанс). Контейнер использует ядро хоста, поэтому весит МБ и стартует за 0.5 сек.

Когда нужен: деплой проектов с сложными зависимостями, чтобы у разработчика и в проде всё одинаково работало. Микросервисы. CI/CD.

Когда не стоит: простой статический сайт, маленький Python-скрипт, обучение основам языка — это переусложнение.