Docker. ̶В̶и̶р̶т̶у̶а̶л̶и̶з̶а̶ц̶и̶я̶ Контейнеризация и т.п.

Автор Тема: Docker. ̶В̶и̶р̶т̶у̶а̶л̶и̶з̶а̶ц̶и̶я̶ Контейнеризация и т.п.  (Прочитано 5451 раз)

MikeSVB

  • Не случайный
  • **
  • Сообщений: 427
  • svb28.ru
    • Просмотр профиля
Подумал тут, у нас же типа технический форум, а вопросов по "всякому айтишному" порой мало. А вдруг кому станет интересно и он увлечётся именно этой темой.
К примеру, Docker.

Вопрос. Кто где и как использует в своей работе на предприятиях в Амурской области? Интересуют разные цели и хотелось бы узнать на сколько востребована технология Docker'ов у нас в регионе?

Примерно представляю, что в ЦИТе (при правительстве который) используют для всяких веб сервисов.

Сам не шарю, точно скажу, только уровня инструкций из официальных установщиков. Поэтому тапками не кидать!
Вопрос не совсем осведомлённого. Да да да. Гугл не отменяли, но я и не тороплюсь. 
Конфиги внутри запущенного образа править можно? или это плохая практика? их надо выносить в основную ось?



e-ray

  • Не случайный
  • **
  • Сообщений: 407
    • Просмотр профиля
Re: Docker. Виртуализация и прочее
« Ответ #1 : 18.01.2023, 13:06:53 »
docker - Это не виртуализация.
Где используется в амурке - хз, но во всем мире используется везде.
Конфиги внутри запущенного образа править можно? или это плохая практика? их надо выносить в основную ось?
можно, но не нужно.
Конфиги хранить в волюме либо в енвах.

gyygla

  • Учaстник
  • ***
  • Сообщений: 872
  • I want to believe
    • Просмотр профиля
А чего убрали виртуализацию ?
Контейнеризация отлично работает с виртуализацией и хорошо пользуется спросом и вообще очень живая тема.
Облачные вычисления сейчас в тренде.

MikeSVB

  • Не случайный
  • **
  • Сообщений: 427
  • svb28.ru
    • Просмотр профиля
А чего убрали виртуализацию ?

да может тема если оживится, то переименуем)
пока про докер вопрос. это действительно больше про контейнеры.
поставил тут для теста обратный проксти мэнэджер на нджинксе. потренироваться так сказать. но получается что-то кривовато из коробки.
вобщем сам сервис из докера nginxproxymanager работает как часы. а вот проксируемые сервисы/сайты при первой загрузке загружаются через 10 секунд. хотя они обращаются на тот же аппаратный сервер по другому порту к апачу. А второе и так далее подключения - моментально отдаются. вот я думаю внутри этого самого проксимэнеджера покумекать пошариться) какое-то кэширование чтоли там или ещё чего. сегодня что-то не до него, но  завтра я к нему вернусь.

Freelancer

  • Завсегдатай
  • ****
  • Сообщений: 2158
    • Просмотр профиля
Сам этого не настраивал, но в Амурнете насколько помню на докере была организована автоматическая сборка и заливка проектов на сервер. Мобилки всякие лепили, причем одновременно бывало по паре-тройке штук. Он слушал изменения в репозитории и при пуше свежих правок автоматом собирал и лил .apk на сервер. А там уже тестеры его тянули и тыкали

А, может это и не докеры был) Я ток веб морды там всякие верстал, да вуй полировал =D

Если чо пить с бывшими амурнетчиками в сб пойду могу спросить)) Могу дать контакты Андрюхи Бухановского который это всё настраивал, он только рад поболтать)) Правда забыл уже наверное всё, он вроде щас биллингом занимается.

Smith

  • Учaстник
  • ***
  • Сообщений: 620
    • Просмотр профиля
 Нахера я 5 лет на фми учился?! Зря потраченое время))Вы как на другом языке разговариваете))).

e-ray

  • Не случайный
  • **
  • Сообщений: 407
    • Просмотр профиля
Сам этого не настраивал, но в Амурнете насколько помню на докере была организована автоматическая сборка и заливка проектов на сервер
организовано на базе какой-то ci/cd системе, которая использует докер.

RangerRU

  • Завсегдатай
  • ****
  • Сообщений: 1242
    • Просмотр профиля
Конфиги внутри запущенного образа править можно? или это плохая практика?
можно
плохая

Flamen

  • Завсегдатай
  • ****
  • Сообщений: 2617
  • 1984 настал
    • Просмотр профиля
Докер - он контейнер - в нем можно запустить почти любую приложуху которая пойдет в вебе -  тот же консольный VPN через SSH - на хабре пару дней назад обсасывалось как и что

Flamen

  • Завсегдатай
  • ****
  • Сообщений: 2617
  • 1984 настал
    • Просмотр профиля
это не виртуалка. это отдельная сущность на серваке. Виртуалка - независимое от системы - докер это контейнер внутри нее

Бунтарь

  • Завсегдатай
  • ****
  • Сообщений: 1147
    • Просмотр профиля
Хренасе, первая тема по старой тематике форума за многие годы :)))

Freelancer, больше на ci/cd похоже, там докер если и есть, то сбоку и только как исполняемое приложение. Хотя как средство быстрого отката после неудачного коммита и деплоя в продакшн, как обычно водится у современных "пейсателей", контейнер с предыдущей реализаций спасёт от пиздюлей со всех сторон :)

MikeSVB

  • Не случайный
  • **
  • Сообщений: 427
  • svb28.ru
    • Просмотр профиля
Хренасе, первая тема по старой тематике форума за многие годы :)))

Ну хорошо, хоть расшевелить немного .

в общем по моей теме с сущностью в виде гномика на Docker - nginxproxymanager
Методом проб вычислил. Изнутри сети тупит, а из вне работает очень даже нормально. Думаю, надо копать в сторону DNS. Проблема, что я нахожусь на окраине сетки за несколькими  свитчами. а компуктер с докером смотрит одной сетевой наружу, а другой во внутреннюю сетку.
Разбираюсь дальше.


можно
плохая

Спасибо

abu

  • Не случайный
  • **
  • Сообщений: 95
    • Просмотр профиля
Подумал тут, у нас же типа технический форум, а вопросов по "всякому айтишному" порой мало. А вдруг кому станет интересно и он увлечётся именно этой темой.
К примеру, Docker.

Вопрос. Кто где и как использует в своей работе на предприятиях в Амурской области? Интересуют разные цели и хотелось бы узнать на сколько востребована технология Docker'ов у нас в регионе?

Примерно представляю, что в ЦИТе (при правительстве который) используют для всяких веб сервисов.

Сам не шарю, точно скажу, только уровня инструкций из официальных установщиков. Поэтому тапками не кидать!
Вопрос не совсем осведомлённого. Да да да. Гугл не отменяли, но я и не тороплюсь. 
Конфиги внутри запущенного образа править можно? или это плохая практика? их надо выносить в основную ось?

Докер хорош для разработчиков. Собираешь образа, например, для трех разных ОС, в которых собирается и запускается твое приложение. Тестируешь. Выкладываешь приложение в прод. Все это, конечно, скриптами автоматизируется.

Также сборки удобно использовать, чтобы посмотреть некий продукт. Более-менее нормальные конторы выкладывают свои продукты в докере - ты быстро разворачиваешь, смотришь - надо ли тебе оно, безо всяких этих LAMP-ов вручную. Так, например, проект wiki.js имеет хорошую, годную сборку под докер.

Есть докер головного мозга, например, у меня на одном из продов - чуть более 20 контейнеров развернуто. Такое решение =из коробки=. Админить его достаточно неудобно, начиная с сети и кончая слежением за VOLUME. Ну и прихоти разработчиков этого =решения= всегда первичнее самого сервиса. Что там намутят в следующем контейнере - знают только они.

Простые недостатки технологии:
1. Образы, собранные сторонними индусами, _всегда_ подразумевают умение индусов. Оно, как правило, убогое.
2. Образы, на которые ты заложился в прод, если уж так вышло, всегда могут превратиться в тыкву, когда закончится их поддержка, у меня был пример - GitLab + k8s. А ты останешься с ней, с тыквой.
3. До недавних времен, например, не было заложено нормальной ротации логов.
4. Важно непонимание дурачков, топящих за эту технологию, которые не понимают ее суть - один докер-контейнер == один сервис. Но в докер некоторые особи закатывают и рабочие станции.

Сложные недостатки технологии - займешься и сам увидишь. Они постоянно меняются, добавляются, устраняются, живут своей жизнью. Ротации логов, например, не было из коробки для контейнеров. Потом появилась. Для меня это всегда проблемы с сетью, диагностикой, volum-ами.

И о смешном - бывает докер в докере еще.



e-ray

  • Не случайный
  • **
  • Сообщений: 407
    • Просмотр профиля
Ротации логов, например, не было из коробки для контейнеров. Потом появилась. Для меня это всегда проблемы с сетью, диагностикой, volum-ами.
это уже следующая ступень - кубер

abu

  • Не случайный
  • **
  • Сообщений: 95
    • Просмотр профиля
Ротации логов, например, не было из коробки для контейнеров. Потом появилась. Для меня это всегда проблемы с сетью, диагностикой, volum-ами.
это уже следующая ступень - кубер

У докера своя сеть, свои волюмы, свои поблемы, захочется кубера - добавятся и проблемы кубера. При настройке =докера в докере=, например, нигде не было написано, в свое время, что для сети надо MTU выставлять ниже стандартного. Хоть загуглись. А учитывая само по себе вычурное логирование этого всего богатства бахромы, получается целое приключение. Впрочем, я не большой специалист - практиковал Kubernetes около года на bare metal, развернутый своими руками. Все это интересно, местами - смешно. смешно тем, что все эти индусские скрипты работают, а не смешно то, что на это приходится закладываться в прод, хотя порой вся эта богадельня в обычной работе даром не сдалась. Она не для села и пригородов с их =веб-сервисами=. Она - о другом.

MikeSVB

  • Не случайный
  • **
  • Сообщений: 427
  • svb28.ru
    • Просмотр профиля
abu, т.е. если прекратится поддержка образа докера, то он перестанет работать? или просто обновления не будут сыпаться?

abu

  • Не случайный
  • **
  • Сообщений: 95
    • Просмотр профиля
abu, т.е. если прекратится поддержка образа докера, то он перестанет работать? или просто обновления не будут сыпаться?

Просто придется закладываться на что-то новое из другого источника. То есть, условно говоря, снова разбираться, что имел в виду новый выбранный тобой автор, почему у него postgres 10, а у тебя 9. Либо писать самому, но тогда, внезапно, кончается гов..номагия, которую так любят сельские адепты всех этих ансиблов, докеров и k8s, которая выражается в том, что =нажал на одну кнопку и получил результат=. Потому что надо серьезно и грамотно во всем разбираться, учитывать многое из того, что обычному админу в голову и не приедет никогда.

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

Ну либо девопсом становиться - это отдельная спецолимпиада и отдельный повод для раздумий.

Бунтарь

  • Завсегдатай
  • ****
  • Сообщений: 1147
    • Просмотр профиля
хотя порой вся эта богадельня в обычной работе даром не сдалась
Это точно. У большинства, виденных мною, докеропользоватлей, на удивление однотипные решения развернуты: графана с прометеусом и еще каким нить модным контейнером.  :)))
Реальное использование докера и докер-сворм видел несколько раз, и чаще всего это были развернуты облачные майнинговые фермы. Еще парочка - облака для расчетов. Остальное больше игрушки, чем реальная польза от контейнера, ну только если используешь приложение, которое часто обновляется и лень самому что-то думать, подкидывай конфиг в новый контейнер и продолжай пользовать :)

 

gyygla

  • Учaстник
  • ***
  • Сообщений: 872
  • I want to believe
    • Просмотр профиля
админить nginx как обычно, либо залепить его в докер и админить еще и докер. Оба варианта имеют права быть, но не всегда один нужнее второго.
НА самом деле в бизнесе вопросов всегда больше и главный из них а сколько это стоит
И вот представим есть у тебя магазинчик шкалодарков и в обычный день там 1,5 покупки, но вот во время инаугурации папы римского, дня холокоста и каждую пятницу 13е продажи рвут все чарты и только ими и живешь
80% времени тебе хватит маломощного сервачка даже одного и даже без балансировщика, но вот сука в оставшиеся 20, ты чуть ли не модель большого взрыва просчитать должен. И начинается, покупка железа, которое будет проиставивать, балансировщики которые нах не сдались, админить еще все это
Или завести k8s и контейнеры и "админить еще и их" да еще и в каком нибудь облаке
НА удивление основная задача тут будет просчиатать что дешевле
купить челезо, настроить все без контейнеров и с запасом на праздники
Или просто автоскейлить кластер в пики, а без нагрузки сидеть на 2 ядра два гига

Привет

  • Не случайный
  • **
  • Сообщений: 57
    • Просмотр профиля
Нужно быть объективным и отметить, что так-как Амурская область это не есть Силиконовая долина (и даже не Москва), все эти контейнеры и кубернетесы нафиг никому не нужны. Кроме 1С Бухгалтерии и замены картриджей ничего осваивать не нужно.

abu

  • Не случайный
  • **
  • Сообщений: 95
    • Просмотр профиля
админить nginx как обычно, либо залепить его в докер и админить еще и докер. Оба варианта имеют права быть, но не всегда один нужнее второго.
НА самом деле в бизнесе вопросов всегда больше и главный из них а сколько это стоит
И вот представим есть у тебя магазинчик шкалодарков и в обычный день там 1,5 покупки, но вот во время инаугурации папы римского, дня холокоста и каждую пятницу 13е продажи рвут все чарты и только ими и живешь
80% времени тебе хватит маломощного сервачка даже одного и даже без балансировщика, но вот сука в оставшиеся 20, ты чуть ли не модель большого взрыва просчитать должен. И начинается, покупка железа, которое будет проиставивать, балансировщики которые нах не сдались, админить еще все это
Или завести k8s и контейнеры и "админить еще и их" да еще и в каком нибудь облаке
НА удивление основная задача тут будет просчиатать что дешевле
купить челезо, настроить все без контейнеров и с запасом на праздники
Или просто автоскейлить кластер в пики, а без нагрузки сидеть на 2 ядра два гига

В целом - так оно и происходит, согласен. Дополнительные размышления такие:

Тупой ответ - как-то жили и до k8s. Автоскейлили, понимаешь ли.
Второй ответ - так может сперва начать сайты грамотно писать и проектировать программы? То есть - с канонов начинать?
Третий ответ - что под чем понимать. k8s на =голое железо= вряд ли кто будет ставить. А будет юзать нечто в облаках. Не ведая, что на самом деле там у k8s внутри. И за это неведение платя дополнительные деньги. Как и говорил выше, я немного, но - очень немного, знаю, что там внутри. Поддерживать это добро самостоятельно на селе - накладно. Можно, даже работает. Но - накладно. И не одним человеком все должно делаться, и так далее. В облаке держать - должно выйти менее накладно, тут согласен, что надо считать. Само облако и зарплату админа k8s, наверное. В части нынешнего положения дел - кто в РФ обеспечивает k8s?

Но лучше в k8s тут не уходить, вопросы-то были про докер. Кратко повторюсь - тема интересная, программистам очень удобен. Что-то раскочегарить по-быстрому, поглядеть, оценить, мб, даже так и оставить, не в прод, нормально. Можно и в прод.

Но лучше, как по мне не надо (прод имею в виду). Именно это и есть лично для меня предмет раздумий. Мб, тупо, не понимаю смысла =высоких= технологий? Также часто замечаю перекос в сторону докеризации, где она не нужна. И перекос в угоду программистов там, где должно все работать годами независимо от веяний всякого рода технологий. То есть - надежность VS жизнь. Все как всегда.

gyygla

  • Учaстник
  • ***
  • Сообщений: 872
  • I want to believe
    • Просмотр профиля
Но лучше в k8s тут не уходить, вопросы-то были про докер.
Эм, ок...

abu

  • Не случайный
  • **
  • Сообщений: 95
    • Просмотр профиля
Но лучше в k8s тут не уходить, вопросы-то были про докер.
Эм, ок...

Я имел в виду свою писанину, свой ход мыслей (: А так - k8s тоже интересная тема, почему бы и ее не обсудить тут.

e-ray

  • Не случайный
  • **
  • Сообщений: 407
    • Просмотр профиля
В части нынешнего положения дел - кто в РФ обеспечивает k8s?
яндекс, мтс и прочие сберклауды

ПостороннимВ

  • Ветеран
  • *****
  • Сообщений: 5969
    • Просмотр профиля
Просветите про Дохер. В чем отличие от chroot?

Привет

  • Не случайный
  • **
  • Сообщений: 57
    • Просмотр профиля
Здесь хороший ответ. https://devops.stackexchange.com/questions/2826/difference-between-chroot-and-docker
Кратко о самом важном на русском - как минимум докер контейнер может делить те же самые сетевые порты с другими контейнерами.

Бунтарь

  • Завсегдатай
  • ****
  • Сообщений: 1147
    • Просмотр профиля
ПостороннимВ, в том, что контейнер вообще твоей системы не касается.

abu

  • Не случайный
  • **
  • Сообщений: 95
    • Просмотр профиля
хотя порой вся эта богадельня в обычной работе даром не сдалась
Это точно. У большинства, виденных мною, докеропользоватлей, на удивление однотипные решения развернуты: графана с прометеусом и еще каким нить модным контейнером.  :)))
Реальное использование докера и докер-сворм видел несколько раз, и чаще всего это были развернуты облачные майнинговые фермы. Еще парочка - облака для расчетов. Остальное больше игрушки, чем реальная польза от контейнера, ну только если используешь приложение, которое часто обновляется и лень самому что-то думать, подкидывай конфиг в новый контейнер и продолжай пользовать :)

С другой стороны вся эта бесовщина чертовски затягивает (: Но мне она показалась хлопотной с точки зрения обычного админства. А чтобы этим заниматься чуть более серьезно - это совсем другая профессия. Плюс еще как личный опыт - эта профессия, например, если работаешь на программистов, требует перевода их птичьего языка на твой птичий язык и наоборот. Это и удивительно, и чертовски порой неудобно. То есть, на их языке =настрой мне сервер= совсем не то, что на моем (: И, блин, обе стороны правы, внезапно.

KarmicDude

  • Новичок
  • *
  • Сообщений: 42
  • :x
    • Просмотр профиля
xD на дворе был 2023, народ интересуется докером спустя ~10 лет массового распространения, когда сам докер загибается. Ну и нужно разделить понятия технологии от конкретного продукта. У докера сейчас достаточно узкая ниша, потому что в современном мире и продакшене он не нужен уже давно, а на рабочих станциях многие предпочитают podman, а кто-то вообще не использует какие-то менеджеры.
Когда-то докер получил массовое распространение, в те времена, когда особых альтернатив не было, да и сам докер использовал LXC. Потом была реализована библиотека libcontainer. Из-за необходимости хоть как-то рулить зависимостями между сервисами и описовать по принципам IaC был реальзован проект (изначально сторонний, на python) примитивный оркестратор docker-compose, который сейчас перетек в поставку самого докера и является частью клишного инструментария. По тем же причинам, в попытке создать что-то подходящее для использование в продакшене был мертворожден на свет swarm (в последствии замененный docker swarm mode). Но все это было достаточно убого.
Затем получил широкое распространение Kubernetes, который использовал докер как среду запуска контейнеров. Продлилось это достаточно долго. Тут нужно помнить, что под всем этим располагается среда запуска, CRI и набор плагинов, реализующих сетевую функциональность, реальзацию хранения данных и пр. K8S использовал дополнительную не нужную прослойку, с говорящим названием Dockershim, которая была посредником в коммуникации с containerd. Но это все задепрекейтили в 1.20 версии куба, более трех лет назад. Потому докер перестал быть нужен вообще. Тут важно понимать, что Kubernetes сейчас это не просто очень функциональная платформа, это стандарт, это единый язык для разработчиков, позволяющий в коде описать весь пайплайн доставки и запуска приложений в продакшене и сейчас этот проект диктует то что будет актуально на ближайшие годы в этом направлении.
Собственно, containerd не единственный, можно посмотреть, например, на CRI-O и другие проекты, реализующие среду запуска и исполнения контейнеров, совместимые с OCI Image specification.
С одной стороны докером все еще можно пользоваться для локальной разработки и каких-то мельких задач по запуску сервисов, не требующих надежности и отказоустойчивости. С другой стороны, если работаете в команде где Kubernetes это основная платформа для запуска приложений, то непременно столкнетесь с ситуацией, когда нужно организовывать локальное окружение, максимально идентичное продовым. Тут появляется ряд новых проблем, из-за ограничений, которые накладывает локальная разработка даже при использовании таких инструментов как kind, minikube, k3s. Но это уже другая история как это обустраивать правильно.
Кмк, если кто-то только заходит в тему контейнеризации, докер должен быть лишь ознакомительной частью, в продакшене его нет и не будет уже. Тут важнее разобраться со OCI, CRI интерфейсом и как это работает. Тут докер может быть сподручным иструментом, но не обязательным.
Ну и вообще еще нужно иметь хорошее представление об этом https://12factor.net/, а еще массу терпения и желания, потому что темы очень объемные и далько не всегда такие простые, как может показаться.

MikeSVB

  • Не случайный
  • **
  • Сообщений: 427
  • svb28.ru
    • Просмотр профиля
KarmicDude, Режим бабки на лавке детектед!
спасибо за информацию. изучу что будет по силам.