Docker или podman?

Yoskaldyr

"Спамер"
Партнер клуба
Я понимаю что докер это типа стандарт, но лично мне больше зашел подман. Хотя бы тем что из юзерспейса из коробки работает без плясок с бубном и с когда несколько аплинков на хосте тоже в разы удобнее и проще конфигурировать. По идее должен был полностью совместим с докером (по факту не совсем).

Кто-нибудь еще его юзает? Или только православный докер? Есть ли у докера в данный момент какие либо преимущества (кроме очевидного что докер как бы стандарт)?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
что ты называешь userspace? в код ядра мы из php не лезем
что ты называешь работой без плясок с бубном? сам докер тоже просто работает, плясать нужно с конфигами сервисов
что ты называешь аплинками? сетевые интерфейсы на сервере к приложениям и к докеру отношения не имеют

кроме самого докера еще есть swarm, k8s и compose, а что у podman c оркестрацией?
 

Yoskaldyr

"Спамер"
Партнер клуба
@grigori я не говорю о том что запускать в докере, а именно о самом докере и удобство работы с ним (например из сторма).
Оркестрация, деплой и все подобное - лично мне не интересно. Но т.к. пилит это редхат думаю там все ок должно быть. Точно знаю что с ката-контейнерами может работать, но это мне тоже не интересно. Быстрый гуглинг говорит что c k8s работает из коробки.

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

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

AmdY

Пью пиво
Команда форума
Я чёт не понял, какие у тебя проблемы с докером, если ты всё равно юзаешь его конфиги. Одна лишняя строчка с добавлением в группу при установке? И что за аплинк?
 

Yoskaldyr

"Спамер"
Партнер клуба
И что за аплинк?
outbound ip хоста.

Я чёт не понял, какие у тебя проблемы с докером, если ты всё равно юзаешь его конфиги.
А я где-то писал что у меня проблемы?????? Вот любят в клубе читать между строк и придумывать того чего нет :)

Судя по тому что никто ничего не написал, то скорее всего никто подман не юзал. Но еще раз повторюсь - мне все равно чем пользоваться, могу докером, могу подманом (особенно учитывая что 99% юзкейсов в подмане работает прозрачно для использования как докер, команды те же), все зависит от хоста.

Одна лишняя строчка с добавлением в группу
ну есть еще нюансы с selinux-ом - так что 2 строчки 🤣
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
если система последний редхат и деривативы, то поставить докер туда можно с оооочень большими проблемами
А я где-то писал что у меня проблемы?????? Вот любят в клубе читать между строк и придумывать того чего нет :)
может быть, проблема не с докером?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Судя по тому что никто ничего не написал, то скорее всего никто подман не юзал.
для моих проектов системы всегда идут с оркестрацией, service discovery, healthcheck и репликацией - ну, я редко делаю mvp,
у меня основной оркестратор - swarm, а podman предлагают использовать k8s из контейнера

k8s намного удобнее, конечно, только он кушает пару гигабайт оперативки, а в проекте сложились компактные SOA-кластеры на swarm, которые лиды сами запускают без админов, это всем удобно - да, нету blue/green deployment и проблемы с кроном, зато можно развернуть десяток таких сервисов, просто попросив у админов несколько десятков виртуалок
пока я не вижу для себя podman
 

MiksIr

miksir@home:~$
речь же о локальной разработке, причем тут оркестрация
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Где сказано о локальной разработке? Наоборот. Podman - часть проекта CRI-O (Kubernetes Container Runtime Interface), замена Docker в качестве runtime в Kubernetes.
Вот официальное сравнение с docker.
The CLI for Podman is based on the Docker CLI, although Podman does not require a runtime daemon to be running.
We support Kubernetes for orchestration.
Вот чего там не пишут - так это про полную совместимость с docker, и приводят список того, что они не поддерживают.
Хотите compose - ставьте докеровский и запускайте системный сервис podman, и тогда podman теряет свою главную фичу.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
вопрос был о преимуществах докера, и для меня их два: оркестрация swarm и compose, и неплохая работа под виндой в wsl2 + какая-то поддержка mac
 

Yoskaldyr

"Спамер"
Партнер клуба
@grigori В принципе по вопросу должно быть понятно что речь о локальной разработке. Какая нафиг оркестрация при rootless конфигах? (да я написал что из юзерспейса, которым очень часто называют работу под непревелигированным юзером).

По вопросу я понял одно - никто не работал и даже не пробовал, так что размышления чисто теоретические. Лично для себя я понял (для локальной разработки и локального администрирования) там где есть подман из коробки можно его использовать, где нет ставить докер. В 99% случаев если контейнер работает на подмане, то будет работать и на докере и наоборот и в 99% случаев если стороннее приложение работает через ком строку с докером, то будет работать и с подманом. Когда работа через сокет, то могут быть нюансы (да при запущенном сервисе podman-а, понятно что без него ничего связанного с сокетами работать не будет)

А насчет преимущества - подман единственный рабочая альтернатива без плясок с бубном на 9-й линейке RHEL и деривативов (последняя федора в том числе, может и предыдущие тоже, я не проверял). Так же год назад написал бы что основное преимущество подмана это bind outbound ip, т.к. дополнительную опцию для этого в докер добавили только где-то год назад, в противном случае надо было устраивать пляски с бубном с iptables, а учитывая что иногда внутри контейнера тоже навороты по сети, то это могло быть не совсем однозначно (этот пункт вообще не имеет ничего общего с пхп или разработкой, здесь чисто сетевые извращения)

А так понятно, что докер стандарт де факто и в большинсвте случаев будет именно он использоваться. Подманом чуть более плотно ознакомился только после невозможности нормального использования докера на RHEL9 (официальных докеровских rpm-ок все еще нет, а собирать руками сомнительное удовольствие учитывая количество зависимостей в системе)
 

AmdY

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

Yoskaldyr

"Спамер"
Партнер клуба
А зачем тебе локально вовсе какие-то пляски с IP.
так особенность удаленного офиса, 100500 впн-ов и т.п. А при разворачивании часто надо указывать с какого внешнего ип будут идти исходящие запросы, при условии что на сервере несколько адресов (policy based routing и т.д.). Т.е. это важно для исходящих запросов, а не входящих.
Достаточно засунуть в одну сеть и пробрасывать порты, никаких проблем.
вот с пробросом портов или с биндингом входящих соединений проблем у докера никогда не было.
Ну и главный плюс локальной разработки - компос, который позволяет вовсе не заморачиваться. Тем более ты сам пишешь, что работаешь с конфигами докера и в этом плане плюшек не имеешь.
у меня локально развернуто минимум. Разработка локальная, но все расположено удаленно на виртуалках в сети (да я извращенец). Локально нормальный проброс ФС есть только на линукс хосте (речь именно о нормальном пробросе, а не о тех компромисах, что есть в данный момент), но у линукса есть свои "интересные" моменты если брать десктоп. А учитывая что в последнем релизе у сторма появилась возможность удаленной разработки (правда пока не пробовал и хз как оно насчет скорости, надеюсь будет работать норм), то вообще пропадет смысл держать что-то локально.

И еще раз - плотно с подманом пришлось столкнуться только на RHEL9, где докер нормально не поставить (ручную сборку докера и зависимостей оставим извращенцам любящим такие дела).
 

AmdY

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

Yoskaldyr

"Спамер"
Партнер клуба
@AmdY капец. Где я пинаю инструмент? Я где-то сказал что не использую докер? Я решил поинтересоваться может кто-то юзал альтернативу и все. Может наступали на какие-то реальные грабли на практике а не в теории. Из-за специфики работы мне приходится сталкиваться с абсолютно различными системами, а не как обычно в разработке, только убунта какой-то конкретной версии или дебиан.
И повторюсь - внезапно для 9-й линейки редхата докера нет, потому пришлось разбираться с подманом. Оказалось что разбираться то и нечего, 99% случаев все команды заработали без изменений, даже не надо docker на podman менять (т.к. докер это симлинк на подман). Все плюсы что описал по факту - это так небольшие плюшки, которые лично мне были полезны.

А раз никто не юзал, то о реальных граблях рассказать то никто и не может.
Ну так если извращенец, то к чему вообще весь тред
Ой да не надо тут д'Артаньянить :) Клуб всегда был местом обсуждения извращений разной степени извращенности, тем он и интересен.

Кстати на хабре кто-то выложил статью насчет подмана, судя по тексту все там серьезно и даже работает :)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Yoskaldyr для клуба это нормально выписывать свои мечты, не расстраивайся) Григорий пишет о проде с блю/грин деплоем блудницами и т.д. которых в жизни никто не видел и хрен увидит, @AmdY зачем-то о пинании, хотя вангую имелось в виду "пинять"-винить. Я вот о поиске норм миддла, но там свои заморочки.
 

AmdY

Пью пиво
Команда форума
@Yoskaldyr для клуба это нормально выписывать свои мечты, не расстраивайся) Григорий пишет о проде с блю/грин деплоем блудницами и т.д. которых в жизни никто не видел и хрен увидит, @AmdY зачем-то о пинании, хотя вангую имелось в виду "пинять"-винить. Я вот о поиске норм миддла, но там свои заморочки.
В том и дело что - пинать. Потому что помимо обвинений, достаётся и самой технологии. Вот к тебе будут приходить мидлы и рассказывать, что не используют докер, потому что на пхпклабе прочитали что у него есть проблемы с аплинками, а подмэн ещё сырой. И никто ж не будет проверять, что на момент публикации RHEL 9 был ещё в состоянии беты.

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