Странное ограничение «на домашнем ПК». А про рабочий будем отдельный опрос проводить? А если вообще не ПК, а сервер? У моего хостера вот, например, VDSка под тем же Jail работает…
Да, рабочий отдельно. Там другие задачи и другие требования.
При всем моем уважении к вам, но все мои опросы идут про «домашний ПК». Т.к. то, что использует на рабочем — я сам знаю.
В одной из прошлых тем уже было объяснение, что как только тема (опрос, новость, статья) попадает на главную, понятия «мой — чужой» работать перестают. Опрос должен быть понятен и интересен если не большинству форумчан (в конце концов, большинство той же разработкой не занимается), то по крайней мере какой-то значительной и весомой их части.
chroot. Смысл костылять контейнеры если как таковая песочница не нужна, а нужна только среда для сборки. В принципе хватило бы и sysroot, но в chroot меньше шансов нарваться на какой-нибудь баг в скриптах сборки
Как по мне в ряде случаев это намного лучше контейнеров для ряда задач.
Ну например если вы не собираетесь развертывать для тестов микросервисную архитектуру изначально разработанную на работу в контейнерах - то нафиг они нужны, когда например программу с gui намного удобнее тестировать например в VirtualBox.
Во первых очень удобно и интуитивно понятно (в пару кликов мышкой) можно контролировать не только снимки образов выключенной машины - но можно делать снимки включенной машины (с сохранением RAM), работает все очень быстро, особенно если ваша программа не завязана на 3d возможностях, даже на 10+ летнем железе, не отличить по скорости и отзывчивости программу работающую в виртуалке и в хосте. И для всего этого не нужно запоминать консольные команды по работе с Докером (ну я только с ним однажды работал, но уверен и в другие средства контейнеризации требуют знания консольных команд).
В общем, имхо, для разработчиков не связанных с веб приложениями (где в современном мире решения типа Докера, вроде как архитектурный стандарт) - а для разработчиков десктопных или системных приложений - самое то использовать виртуальные машины. Ну или например не только разработчикам а продвинутым пользователям - даже в том же оффтопике - скачиваешь софт с невызывающего доверия ресурса, сначала пробуешь его в вируталке, а только потом ставишь на реальную машину.
А если человек использует виртуальную машину именно как альтернативу контейнерам и именно для тех целей, которые ты описал в ОП? Во многих случаях ведь действительно подойдёт как то, так и другое.
Для разработки надо текстовый редактор использовать
Разная разработка бывает, товарищ. Разворачивать и тестировать приложения, создавая разные инстансы с определенным системным окружением - это тоже разработка. Напишешь такое в редакторе?
Строить песочницы вокруг моих же скромных экзерсисов мне кажется излишним.
Экзерсисы экзерсисам рознь, возможно, как только встанет вопрос об их распространении — вот тут и придётся задуматься о песочницах, а то и о виртуалках (например, чтобы сделать универсальную сборку программы для разных линуксов)…
юзаю podman при необходимости, но - сколько раз убеждался, что с контейнерами быстрее начать, но по итогу огребешь больше проблем и потратишь на них больше времени, чем при нормальной установке.
Поправьте, если я ошибаюсь, но podman вне кубера нежизнеспособен
У podman’а основная фишка - работа демона без root’а. Но это же мешает ему нормально пробрасывать порты. Падение контейнера => потеря доступа к контейнеру, даже несмотря на то, что новый уже запустился. podman можно использовать только в k8s, где проброс портов - не его podman’а дело
Это предложение в моем комментарии в саркастической манере намекало, что неплохо бы прояснить предполагаюмую точку приложения контейнерных технологий в процессе разработки программного обеспечения. Потому что точек этих несколько (униформное окружение, изоляция, тестирование в разных дистрибутивах, возпроизведение багов в конфигурации пользователя, …), нужны они неодновременно, и использовать можно разное.
Неа, он вполне жизнеспособен и без кубера. Если простыми словами, подман - это поделие редхата, полностью совместимое с cli докера (на уровне s/docker/podman/g, и все заработает), но умеющее в rootless и чуть меньшим оверхедом на систему.
Ты скорее всего путаешь с cri-o - он тоже, в целом, может работать и без кубера (процесс запуска контейнеров стандартизирован в рамках Open Container Initiative и низкоуровнево не зависит от конкретного софта), но идеологически для этого не предназначен.
у меня в дистр идет сразу с distrobox/podman и установленные приложения сразу интегрируются в десктоп после установки. это очень круто, меньший шанс упороть что-то в системе
Падение контейнера => потеря доступа к контейнеру, даже несмотря на то, что новый уже запустился.
Первый раз о таком слышу.
Podman удобно использовать вместе с systemd. Сгенерировал юнит или юниты сразу для всех контейнеров в поде, включил-завёл, а дальше systemd заботится о ресурсах, перезапусках и т.д. Ещё умеет сам контейнеры обновлять когда в источнике обновился образ, если добавить соответствующую метку.