LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Ну вот представь у тебя есть сервис. У него есть какие-то зависимости. И чтобы его запустить тебе надо поставить эти самые зависимости (причём порой нужных версий). Чтобы его обновить, тебе надо каждый раз перечитывать документацию не появилось ли новой зависимости, чтобы её доставить.

А с Docker оно «просто работает». Вся забота о зависимостях отдана разработчику Dockerfile. А тебе только запустить образ и, возможно, передать ему какие-то параметры.

Ещё представь у тебя несколько сервисов и у каждого свои зависимости. И тебе надо опять же за всеми следить. Например, вышла новая версия одного сервиса, ты не можешь просто доставить новые зависимости и удалить старые, тебе надо учитывать как эта операция повлияет на другие сервисы на том же сервере. А ещё может такое случиться, что двум сервисам нужны конфликтующие зависимости. А с Docker сервисы изолированы по зависимостям и всех этих проблем нет.

Ещё с Docker решается вопрос запуска нескольких инстансов одного и того же приложения с полностью разным набором настроек, плагинов и т. д. И даже разных версий, в том числе потенциально несовместимых по зависимотям. И всё это без пересборки, патчинга исходников, надежды, что авторы заложили поддержку множественности инстансов (типа возможности перенести каталог с конфигом) и т. д.

Итого:

1) C Docker проще запускать новые экземпляры сервисов

2) С Docker проще обновлять сервисы

3) С Docker проще работать с сервисами имеющие сложные зависимости (всякие библиотеки, утилиты и т. д.)

Исходная версия KivApple, :

Ну вот представь у тебя есть сервис. У него есть какие-то зависимости. И чтобы его запустить тебе надо поставить эти самые зависимости (причём порой нужных версий). Чтобы его обновить, тебе надо каждый раз перечитывать документацию не появилось ли новой зависимости, чтобы её доставить.

А с Docker оно «просто работает». Вся забота о зависимостях отдана разработчику Dockerfile. А тебе только запустить образ и, возможно, передать ему какие-то параметры.

Ещё представь у тебя несколько сервисов и у каждого свои зависимости. И тебе надо опять же за всеми следить. Например, вышла новая версия одного сервиса, ты не можешь просто доставить новые зависимости и удалить старые, тебе надо учитывать как эта операция повлияет на другие сервисы на том же сервере. А ещё может такое случиться, что двум сервисам нужны конфликтующие зависимости. А с Docker сервисы изолированы по зависимостям и всех этих проблем нет.

Ещё с Docker решается вопрос запуска нескольких инстансов одного и того же приложения с полностью разным набором настроек, плагинов и т. д. И даже разных версий, в том числе потенциально несовместимых по зависимотям. И всё это без пересборки, патчинга исходников, надежды, что авторы заложили поддержку множественности инстансов (типа возможности перенести каталог с конфигом) и т. д.