LINUX.ORG.RU

В чем плюсы контейнеров для разработки?

 ,


3

3

Вот есть классический подход: наваял тулчейн (например, с помощью crosstool-ng), напихал туда нужных библиотек и таскаешь его с собой между системами в виде архива.

Сейчас модно нахерачить целый докер образ и таскать его с собой.

Вопрос: в чем плюс подобного подхода?

Я не троллю, я просто разработчик старой школы, думаю изучить всякие новые тулзы и прикидываю, стоит ли оно того.


Вопрос: в чем плюс подобного подхода?

Вопрос содержит ответ.

Сейчас модно нахерачить целый докер образ и таскать его с собой.



Delirium, это ты, я тебя узнал.

crutch_master ★★★★★ ()
Ответ на: комментарий от Trunk

Если надо тащить кучу говна в целевую систему, наверное есть профит, чтобы всё это не ставить, а там может не быть библиотек и т.п. Если нормально писать, то это ничего не нужно кмк.

crutch_master ★★★★★ ()

Использование контейнеров может быть полезным при разработке хайповых сегодня сервисов и микросервисов. По сути можно локально развернуть сервис в контейнере и реализовать общение таких сервисов. У каждого сервиса может быть свой стек и тянуть все в систему не очень то хорошо. Но и тут не всегда это целесообразно, так как на более менее серьезных проектах разворачивают общие дев сервисы на том же докере в k8s и разработчики стучатся к ним. В общем использование контейнеров как упрощает так и усложнает жизнь, все зависит от того на сколько целесообразно использовать тот или ной подход.

Но горе веб макаки тянут докер везде где надо и не надо, от чего и спрос на таких «спецов» резко подскочил ибо дефакто стал стандартом в разработке разного рода вебни.

ilinsky ★★★★★ ()
Последнее исправление: ilinsky (всего исправлений: 1)
Ответ на: комментарий от Trunk

Ну а зачем многие разработчики тянут контейнеры на каждый чих - не знают даже эти разработчики. На вебе такой подход оправдан, и то как я уже говорил - не всегда. В случаях не вебни это зачастую избыточно.

ilinsky ★★★★★ ()
Последнее исправление: ilinsky (всего исправлений: 2)

Я привык к Linux-окружению, но на работе используется Windows с ограниченными правами, поэтому я использую docker, чтобы запускать свои приложения.

Почему не полноценный Linux на виртуалке? Потому что мне нужен только запуск приложения, а docker позволяет очень просто поднять контейнер, запустить приложение, остановить контейнер. Выглядит так, как будто просто выполняешь команду.

Свои приложения - это в основном скриптота на питоне для организации рабочих процессов. Сходить в апи, проверить корректность данных, нарисовать отчёт.

anonymous ()

ну вот мне например понадобилось собрать из исходников пакет под другой дистр. Можно либо вручную возиться с чрутами, а можно за пару минут найти делающий требуемое докерфайл.

Автоматизация и использование уже написанного кода - это хорошо, а луддиты могут и дальше кричать «ненужно».

Lrrr ()

Мне надо список файлов вывести, какого хрена все используют питон, когда достаточно ls

Твоей задаче docker не нужен, ну так нафига обобщать?

futurama ★★★★ ()
Ответ на: комментарий от Trunk

Мне показалось полезным, что можно относительно легко вкорячить на одном линуксе рантайм и тулчейн разных версии ubuntu, debian и fedora (docker-образами) не выкаблучиваясь вокруг виртуалок. И эти же окружения можно на CI поднять, тесты там погонять. Потестировать на разных версиях Python-а, например, не выёживаясь с virtualenv.

В общем штука ИМХО полезная, но до маразма доводить не стоит, конечно.

SkyMaverick ★★ ()

Всему виной удобство и капиталистический рыночек. Ты предлагаешь способ местечковый без претензий на какую-то стандартизацию и общий подход, докер и кубернетис предлагают активно насаждаемый подход который скорее всего станет стандартом де-факто просто потому что это удобно.

По-сути второе никак не отменяет первое, а лишь просто надстройка над твоим тулчейн архивчиком, просто подготовленная по определенному рецепту в соответствии с определенной нотацией. Ну и плюс эти оба из ларца предлагают инструментарий для создания, управления, изменения и т.д. и т.п. виртуализированной инфраструктуры.

Главным инструментом твоего архивчика являешься ты, заменить тебя тяжело, потому что бог его знает на какие шалости ты шел чтобы слепить себе рабочее окружение.

anonymous ()
Ответ на: комментарий от Twissel

боится красноглазить

Не то, чтобы боится красноглазить… Точнее сказать - боится накосячить, чтобы поиметь проблемы. А так, поколение как поколение, со своими прибамбасами, как и любое другое. Качественное восприятия информации другое, чухне из интернета поверят быстрее, чем такой же чухне из ящика. Вот и все отличия. Так и мы в своё время больше доверяли кому-то, нежели родителям, к примеру. В целом хотят того, что и другие поколения, но самое важное оставляют напотом, потому что боятся накосячить, чтобы поиметь проблемы. И так далее. На самом деле брюзжать бессмысленно. Ничего никому не докажешь. А воспитывать и переделывать этот мир не собираюсь. Кто я такой? Заблудившийся во времени старпер. :-D Пусть каждый живёт как умеет. Иксы, игреки, зэты – всё очень условно и относительно.

anonymous ()

Как-то спорил я с одним апологетом доцкера. Он разраб.

Довода он приводил два:

  • Мне не важно, что там у заказчика, я ему образ предоставляю и знаю, что оно работает.
  • Надо было VPN с одних железок на другие перенести. С «того краю туннеля» товарищ на завтра позвонил, мол «я приготовился, когда переносить будем», а я ему сказал, что у меня уже всё перенесено - свою часть когда хочешь можешь переносить.

В услышанном я увидел только один «плюс»: можно вывалить своё дерьмо на сервера клиента и не париться о конфликтах с дерьмом, которое у него уже есть.

Очередной базворд смузихлёбов.

mogwai ★★★★ ()
Ответ на: комментарий от anonymous

Докер будет стандартом ровно до тих пор, пока пул одних корпораций не сменится пулом других корпораций. А мы так и будем жевать тот шлак, который они нам подсовывают.

Всему виной удобство и капиталистический рыночек.

А никакого удобства-то и нет. Просто корпорации отнимают хлеб у специалистов локальных конторок.

anonymous ()
Ответ на: комментарий от Twissel

Отвечу за поколение. Это нужно для автоматизации и экономии времени и денег. Пример, когда нужно заменить резину. Никто уже не ковыряется с колесами, когда за каждым углом шинамонтаж. И так уже везде, твоя ценность автомеханика Васи из гаража, руками настрающего клапана на рынке равна нулю. Никто не станет платить бабки за девопсика, когда любая девочка умеет (съездить на шинамонтаж), поставить докер-файл или имадж в виртуалку.

Lzzz ()
Ответ на: комментарий от Twissel

Личный опыт.

И, да, вообще говоря, градация по X, Y и Z нам (нашему общему пространству) предложена извне. Им так удобнее, а мы, как кретины, приняли, не особенно задумываясь. На самом деле у нас всё это работает несколько иначе.

anonymous ()
Ответ на: комментарий от anonymous

А никакого удобства-то и нет. Просто корпорации отнимают хлеб у специалистов локальных конторок.

Специалисты никуда не денутся, их навыки не обесцениваются докером. Докер не про это, вместе с кубернетисом. Он про то, что есть у вас штат в некоторое количество администраторов(девопсов) и парк 10 тысяч серверов, и надо быстро просто и легко и главное единообразно разворачивать некоторые решения, поддерживать их и т.д. и т.п. Если каждый разработчик будет приходить к вам со своим тулчейном это быстро превратится в ад. А так вам дали инструмент который увязывает одних с другими и все это достаточно быстро и продуктивно.

Докер будет стандартом ровно до тих пор, пока пул одних корпораций не сменится пулом других корпораций. А мы так и будем жевать тот шлак, который они нам подсовывают.

тут сам подход логичный, даже если корпорацию А сменит корпорация Б и инструмент А заменит инструмент Б, cуть в самом подходе, а не в конкретной реализации.

anonymous ()

Вопрос: в чем плюс подобного подхода?

В том, что Docker-образ можно развернуть везде. Хоть на старенькой машинке «одмина», хоть на сверхмощном сервере на том краю света. При стандартном подходе этот процесс растянулся бы во времени, а время — деньги.

P.S. Delirium, заканчивай гадить. Возвращайся в адекват.

Korchevatel ★★★★ ()
Ответ на: комментарий от Trunk

У меня немного другой - разработка линукс приложения под линуксом

Значит, докер вам не нужен. Он нужен для быстрого развёртывания на огромном количестве аппаратов, максимум — для быстрой же сборки под разные платформы. Что с вашим сценарием использования избыточно и только время на изучение займёт.

Korchevatel ★★★★ ()
Ответ на: комментарий от Lzzz

твоя ценность автомеханика Васи из гаража, руками настрающего клапана на рынке равна нулю

Ржунимагу. Автомеханик Вася из гаража с руками не из пятой точки зарабатывает всяко поболе любого другого из «авторизованного сервиса».

Это нужно для автоматизации и экономии времени и денег.

Это нужно для более быстрого зарабатывания денег владельцами технологий и держателями акций, то есть для хозяевами денег. Время экономится, да. Причём, когда ты просто сидишь и ждёшь очередного клиента, денежки проплывают мимо тебя в карманы совсем других людей. Потому что автоматизация придумана ими для себя, а не для тебя.

anonymous ()

основной плюс этого подхода - другому разработчику не надо задумываться о окружении для сборки проекта

как пример, мы собираем проект под четыре SoC с разными архитектурами, в сборке участвует не только toolchain, но и vendor SDK, vendor linux, к сожалению, и немаленький набор дополнительных либ, как пример Qt

imb ★★ ()

Вот есть классический подход: наваял тулчейн (например, с помощью crosstool-ng), напихал туда нужных библиотек и таскаешь его с собой между системами в виде архива.

Подход докера состоит в том, чтобы наваять chroot-окружение вместо тулчейна с либами. Наваять не самому, а на основе окружения от васяна, потому что не умеют. А в процессе сборки это окружение обложить всеми неймспейсами, какими только можно.

Вопрос: в чем плюс подобного подхода?

В том, что всю работу сделал для тебя васян с докерхаба.

думаю изучить всякие новые тулзы

Посмотри на buildah/podman/skopeo. Их проще совать в скрипты, вместо выхлопа — oci-образа, которые можно вприкуску с тем же LXC. Но всё равно это то же самое.

anonymous ()
Ответ на: комментарий от anonymous

Это нужно для более быстрого зарабатывания денег владельцами технологий и держателями акций, то есть для хозяевами денег. Время экономится, да. Причём, когда ты просто сидишь и ждёшь очередного клиента, денежки проплывают мимо тебя в карманы совсем других людей. Потому что автоматизация придумана ими для себя, а не для тебя.

Если не отходить от темы разговора и не делать этих нелепых сравнений с какими-то автомеханиками из гаража, то вполне очевидно что так как решения типа докера и кубернетиса открытые, ничто не мешает вам использовать эту «автоматизацию» для себя, а не для «хозяев». Вот когда гейки начнут завинчивать и требовать с вас три шкуры тогда и можно переходить на гаражные аналогии.

anonymous ()

Докер, ansible и тому подобные смузи-технологии нужны только тем, кто не смог в шелл. Вот и всё. Все эти сказки про стабильность, безопасность и прочая — лишь оправдание неумению пользоваться пакетным менеджером/пользоваться шеллом/собирать пакеты. О безопасности большая часть пользователей докера не думает, точно так же выкидывая в локальную сеть сервисы либо без пароля, либо с тривиальным паролем.

anonymous ()

Вопрос: в чем плюс подобного подхода?

Лично мои коллеги делают докер-контейнеры, потому что боятся устанавливать софтовые зависимости в свой модненький маковский ноутбучек и предпочинают писать конфиги-простыни, чем установить нужный софт через brew.

Alve ★★★★★ ()
Ответ на: комментарий от anonymous

Автомеханик Вася из гаража

Т.е. гараж оборудован как сервис-центр. А теперь скажи сколько нормочас должен стоить у Васи, чтобы он в одиночку мог конкурировать с 10 автомеханиками в сервисе?

Lzzz ()
Ответ на: комментарий от Alve

Лично мои коллеги делают докер-контейнеры, потому что боятся устанавливать софтовые зависимости в свой модненький маковский ноутбучек и предпочинают писать конфиги-простыни, чем установить нужный софт через brew.

С языка снял. Есть ещё один небольшой нюанс-дополнение про аудиторию, которая впервые полезла делать докер-разработку с билдами.

anonymous ()
Ответ на: комментарий от Alve

А почему бы и не написать одну YAML-простыню, которую можно отдать любому новому разрабу и она гарантированно будет работать без каких-либо модификаций вне зависимости от его машины?

Я не утверждаю, что решение самое удачное, но пока адекватной замены этому нет.

Octagon ()

Потому что модно. Мне так нравится, когда этот Докер обмажут тоннами ямла и баша, и при этом кричат как это удобно, и как жизнь облегчает.

urxvt ★★★★★ ()