На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (3) 1 [2] 3  все  ( Перейти к последнему сообщению )  
> DockerContainer vs остальное , Обсуждение систем виртуализации, конфигурирования и развертывания приложений
    Wound, согласен! Я неправильно тебе посоветовал, не учел нюансы.
    Пожалуйста, развидь все то, что я написал :-?
      Ничем этот бхиве не лучше. Очередной LXC с блэкджеком и шлюхами. Докер по-сути та же хрень, но с заточкой на более удобное развертывание.
        Не, Докер, конечно, во многом удобен, но… Сначала вместо нативных приложений начали юзать всякие VM (в смыле а ля JVM, а не VMWare) с жирным рантаймом, потом начали писать десктопные приложения на всяких Web-технологиях (Electron, вот это всё), потом, видимо, предложат вместо нативных инсталляторов/пакетных-менеджеров распространять софт в виде Докер-образов.

        В итоге какой-нибудь Notepad.exe будет весить многие сотни мегабайт и отжирать в ОЗУ не меньше, дампиться каждую секунду на диск (SSD же быстрое, ага) и синхронизироваться с каким-нибудь клаудом. Т.е. требовать ресурсов больше, чем какая-нибудь ОС 90-х годов с кучей софта, а функциональности при этом предоставлять как… Ну вы знаете Notepad.exe
        Сообщение отредактировано: korvin -
          Цитата applegame @
          Очередной LXC с блэкджеком и шлюхами

          Ни разу.

          user posted image
            Цитата JoeUser @
            Ни разу.
            Ну прям вообще ни разу? Ничего общего? Ну окай, пусть будет очередной KVM.
            Сообщение отредактировано: applegame -
              Цитата JoeUser @
              Ни разу.

              Ты на этой картинке что с чем сравнил? Где на ней LXC, а где bhyve?
                Цитата korvin @
                Ты на этой картинке что с чем сравнил? Где на ней LXC, а где bhyve?
                Типа LXC - это контейнерная виртуализация, а bhive - гипервизорная.
                  Ндаа ... Был неправ :) Docker некорректно сравнивать с bhyve - кроме изоляции ничего общего. Корректнее сравнивать Docker и фряшные клетки (Jail's). Вот тут да, общего гораздо больше. Нашел на ЛОРе среди традиционного стеба хорошее лаконичное сравнение: "Ну, Docker для Linux LXC — это как менеджер Jail из nullfs хоста FreeBSD с возможностью отката к снапшотам ZFS, если что пошло не так". Судя по возможностям - используя Docker, можно нехило поднять КПД своей работы. И да ... там еще можно грабить корованы :lol:
                    Что-то у вас какой-то ленивый и банальный срач :)

                    Докер-контейнеры крутятся на одном хостовом ядре. У виртуалок ядро свое в каждой VM. Говоря более простым языком, докер (как и любой контейнерный движок) - это штука, которая может запустить в твоей системе самые обычный процесс, но так, чтобы он не видел другие процессы в системе, имел сильно урезанные права и не мог отожрать ресурсов (cpu, memory, etc) выше определенного лимита. Вот вам наглядный пример.

                    Вот постгрес в virtualbox на линуксовой тачке (чорный ящик! И если я запущу внутри еще 100500 всякого шлака, ничего не изменится с точки зрения наблюдателя):
                    ExpandedWrap disabled
                      17762 ?        Sl     0:10 /usr/lib/virtualbox/VBoxSVC --auto-shutdown
                      18310 ?        Sl     0:40  \_ /usr/lib/virtualbox/VBoxHeadless --comment vg_default_1550653433491_40409 --startvm <...>


                    Вот постгрес в докере на линуксовой тачке (наравне с остальными процессами! Потому что это самые обычные процессы с точки зрения ядра):
                    ExpandedWrap disabled
                        592 ?        Ssl    2:40 /usr/bin/dockerd -H fd://
                        690 ?        Ssl    1:40  \_ containerd --config /var/run/docker/containerd/containerd.toml --log-level info
                      15908 ?        Sl     0:00      \_ containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/<...>
                      15923 pts/0    Ss+    0:00          \_ postgres
                      16017 ?        Ss     0:00              \_ postgres: checkpointer  
                      16018 ?        Ss     0:00              \_ postgres: background writer  
                      16019 ?        Ss     0:00              \_ postgres: walwriter  
                      16020 ?        Ss     0:00              \_ postgres: autovacuum launcher  
                      16021 ?        Ss     0:00              \_ postgres: stats collector  
                      16022 ?        Ss     0:00              \_ postgres: logical replication launcher


                    Это обуславливает легковесность контейнеров (количество приготовлений при запуске контейнера мало и, в основном, все время уходит на файловую систему; сам запуск контейнеризованного процесса - это обычный fork/exec вместо запуска полноценной системы), и это же обуславливет их уязвимость (изоляция на более высоком уровне => нужно иметь меньшую квалификацию, чтобы воспользоваться багом в изоляции или косяком того, кто запускал контейнер. Совсем недавно нашли дыру, позволяющую контейнерам, работающим от рута, перезаписать бинарник на хосте: https://nvd.nist.gov/vuln/detail/CVE-2019-5736).


                    Цитата korvin @
                    потом, видимо, предложат вместо нативных инсталляторов/пакетных-менеджеров распространять софт в виде Докер-образов.

                    Надеюсь, что не догадаются (небольшое уточнение: не догадаются для десктопов. На серверах докер-образа - это уже давно один из самых мейнстримных форматов выдачи и доставки). Пока докер под виндой - тухлое УГ, это будет сложно сделать. Плюс, я могу представить, как запустить приложение с гуем в докере под линухом (иксы, сетевая прозрачность, блаблабла), а сможет ли такое винда - хз (целый RDP будет поднимать при подключении к процессу в контейере? :D)


                    Цитата JoeUser @
                    Судя по возможностям - используя Docker, можно нехило поднять КПД своей работы.

                    Абсолютно верно, сейчас считается хорошим тоном при разработке какого-то сервиса коммитить в репу docker-compose.yml, поднимающий все зависимости этого сервиса (базы, кеши, и тд.), чтобы первый встречный мог просто сделать docker-compose up и запустить потом самопальный локальный билд сервиса на своей машине. Более того, сейчас докер используют даже для того, чтобы делать сборки (это же идеально чистое изолированное окружение под каждый новый билд). Самый распространенный сейчас вид агентов на CI-серверах - именно докер-контейнеры (Jenkins docker agent, Gitlab docker runner, и т.д.).
                    Сообщение отредактировано: Da$aD -
                      Цитата Da$aD @
                      Абсолютно верно, сейчас считается хорошим тоном при разработке какого-то сервиса коммитить в репу docker-compose.yml, поднимающий все зависимости этого сервиса (базы, кеши, и тд.), чтобы первый встречный мог просто сделать docker-compose up и запустить потом самопальный локальный билд сервиса на своей машине.

                      Я вот как раз так и сделал. Потому что по другому - слишком сложно будет развернуть тому, кто этот докер не делал. Слишком много телодвижений нужно сделать и подбросить всякие конфиги извне + настроить реверс прокси + пробросить сертификаты, короче без docker-compose.yml реально был бы геморрой. А так в принципе все сводится к нескольким рутинным телодвижениям(аля копи паста сертификатов и прописывание ип машины, на которой сервак крутится в конфигурации докера) и вызову одной команды.

                      Добавлено
                      Я тут даже недавно статью читал, как безопасно серфить в интернете с помощью Docker контейнеров :D Удобная штука в общем. ))

                      Добавлено
                      А вот нашел статью ))
                      Используем Doсker для безопасного веб-серфинга
                      Сообщение отредактировано: Wound -
                        Я правильно понимаю что докер-контейнеры для винды и для линкса разные, т.е. мы не сможем запустить контейнер для винды на линуксе и наоборот?
                          Цитата ^D^ima @
                          Я правильно понимаю что докер-контейнеры для винды и для линкса разные, т.е. мы не сможем запустить контейнер для винды на линуксе и наоборот?

                          Если я что-то понимаю, то докер для винды - это во-первых УГ, а во-вторых - это в первую очередь виртуалка с линухой, так что все должно быть примерно одинаково :)
                            Цитата ^D^ima @
                            Я правильно понимаю что докер-контейнеры для винды и для линкса разные, т.е. мы не сможем запустить контейнер для винды на линуксе и наоборот?

                            Не, все запускается норм вроде. Докер образ, который получается путем его сборки с помощью Dockerfile - это просто по сути zip архив. Его можно собрать хоть на винде, хоть на линуксе. В итоге у тебя получится всеравно один и тот же образ. Внутри этого образа стоит Linux подобная ОС, например Debian. Дальше ты просто монтируешь этот образ с помощью докер команды. И запускаешь его.
                            Естественно для запуска тебе нужно поставить сам докер. Я например компилировал докер контейнер на виндах, потом копировал полученный архив(докер образ) и разворачивал его на CentOS без каких либо проблем.

                            Добавлено
                            Цитата Астарот @
                            Если я что-то понимаю, то докер для винды - это во-первых УГ

                            Ну как сказать. Если у тебя есть приложение на Linux, а у клиента Linux нет, и он его принципиально ставить не хочет, но у него есть винда. А приложение в придачу очень сложно развертывать и настраивать, то возможно докер тут будет оправдан и на виндах. Другое дело что под винды нет смысла замарачиваться с докерами, когда можно взять wix/InstallShield. А так, это может быть вполне кросплатформенное решение. Ну если например у тебя что то написано под Linux, и портировать под винду ты не хочешь/не можешь.
                            Другое дело что не все версии винды поддерживают сам докер. Например последний докер работает только под Win10Pro x64, обязательно должна поддерживаться виртуализация + включен Hyper-V, иначе не заработает. И нужна физическая машина. На VMWare например, у меня не получилось включить виртуализацию(биос там примитивный на виртуалках), а в настройках самой виртуальной машины, те переключатели, которые якобы включают виртуализацию - не оказали никакого эффекта.
                            Еще можно взять предыдущий докер, он скорее всего будет работать на всех виндах старше Windows 7(на десятой у меня по крайней мере работало), но там тоже нужно включать виртуализацию.

                            Добавлено
                            Цитата Wound @
                            Его можно собрать хоть на винде, хоть на линуксе.

                            В MS Visual Studio 2017, есть даже поддержка Docker контейнеров с настройкой под Linux, так же есть возможность создавать Docker-compose.yml проект. В придачу проекты аля .NET Core можно компилировать прямо под Linux архитектуру на виндах. Уж про докеры молчу.
                            Сообщение отредактировано: Wound -
                              Цитата Wound @
                              Внутри этого образа стоит Linux подобная ОС, например Debian

                              Всегда считал что в контейнерах нет никаких гостевых ОС, только библиотеки
                                Цитата ^D^ima @
                                Всегда считал что в контейнерах нет никаких гостевых ОС, только библиотеки

                                Так и есть. Просто на виндах ты врубаешь Виртуализацию + Hyper-V, и докер при установке, создает виртуальную машину с линуксом. В самом докер-образе, который ты собираешь сам - просто набор библиотек самых стандартных + те, которые ты туда сам зальешь. А дальше, когда ты монтируешь и запускаешь образ, он вот тебе как раз на эту виртуальную машину его и монтирует.

                                Добавлено
                                Ну я там выше немного неправильно просто выразился. Это для понимания я так написал. Просто привычно говорить именно так, потому как реализация скрыта, но если брать по факту, то в докере нет никаких гостевых ОС, и это даже не виртуальная машина. Хотя для упрощения многие говорят что это Виртуальная машина с linux на борту.
                                Сообщение отредактировано: Wound -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) 1 [2] 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0438 ]   [ 16 queries used ]   [ Generated: 28.03.24, 09:58 GMT ]