Containers

Calderone
Уже с Приветом
Posts: 2915
Joined: 13 Oct 2000 09:01
Location: Toronto, ON, Canada

Containers

Post by Calderone »

Народ обьясните пожалуйста про контейнеры, напр Stacker. Вроде по прессе они обеспечивают высокий уровень изоляции законтейнеренного приложения от окружения. Чета не врубоюсь, а как это приложение будет жить в контейнере, будучи изолированны? а общаться с внешеми миром как? Допустим ему нужен доступ к файлам или реждистри или к сети - а оно изолировано! А если эти ресурсы ему не нужны - так оно и само туда лезть не будет, зачем его изолировать? Не врублюсь в смысл замысла. Хочется немедленно забенифитить, упаковать свое приложение в контейнер и увидеть как это решает мои давнишние проблемы. А какие? Что нового я увижу, почему вздохну с облечгением? Спасибо
Palych
Уже с Приветом
Posts: 13989
Joined: 16 Jan 2001 10:01

Re: Containers

Post by Palych »

IMHO, в современном программировании процентов 80 инноваций не добавляют возможности, а ограничивают возможность сделать что-то не так.
У нас приложению почти 20 лет.
За это время мы так и не написали init script нормальный: если сервер перезагружается - приложение пускают вручную.
Контейнеры сделали бы этот пробел видимым...
mskmel
Уже с Приветом
Posts: 947
Joined: 24 Sep 2013 05:58
Location: US\GA

Re: Containers

Post by mskmel »

Calderone wrote: 30 May 2018 23:48Народ обьясните пожалуйста про контейнеры, напр Stacker.
Stacker это бета версия обёртки над docker, который в свою очередь работает с LXC. Ну т.е. вы совсем не те ключевые слова гуглите :)
Начните гуглить с docker + нужные вам ключевые слова.
User avatar
f_evgeny
Уже с Приветом
Posts: 10373
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Re: Containers

Post by f_evgeny »

Calderone wrote: 30 May 2018 23:48 Народ обьясните пожалуйста про контейнеры, напр Stacker. Вроде по прессе они обеспечивают высокий уровень изоляции законтейнеренного приложения от окружения. Чета не врубоюсь, а как это приложение будет жить в контейнере, будучи изолированны? а общаться с внешеми миром как? Допустим ему нужен доступ к файлам или реждистри или к сети - а оно изолировано! А если эти ресурсы ему не нужны - так оно и само туда лезть не будет, зачем его изолировать? Не врублюсь в смысл замысла. Хочется немедленно забенифитить, упаковать свое приложение в контейнер и увидеть как это решает мои давнишние проблемы. А какие? Что нового я увижу, почему вздохну с облечгением? Спасибо
Не знаю про Stacker. Я пользуюсь Docker. С внешним миром можно общаться по сети. Файловая система есть своя, изолированая. Если нужен доступ к файлам хоста, можно замонтирвать директорий хоста.
Я правда сам использую докер в качестве легковесной виртуальной машины.
Одна из хороших возможностей кроме изоляции то, что можно легко иметь для разных подсистем разные версии библиотек или ОС. Правда я пользуюсь только Linux/Linux. В частности Ubuntu/Centos.
Дальше, все будет только хуже. Оптимист.
User avatar
Uzito
Уже с Приветом
Posts: 8230
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Re: Containers

Post by Uzito »

Image
Palych
Уже с Приветом
Posts: 13989
Joined: 16 Jan 2001 10:01

Re: Containers

Post by Palych »

Кстати, а как в контейнерах пользователей заводят?
Все под root делают?
Или только application user?
Или для каждого юзера?
User avatar
f_evgeny
Уже с Приветом
Posts: 10373
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Re: Containers

Post by f_evgeny »

IMHO, внутри контейнера все под рут.
Хотя лично меня это несколько беспокоит. Для моих целей (разработка), это все равно, но в продакшене это мне не нравится. Вот нашел статью с рекомендациями запускать процесс в докере не из под рута:
https://medium.com/@mccode/processes-in ... eae3f0df3b
Дальше, все будет только хуже. Оптимист.
Calderone
Уже с Приветом
Posts: 2915
Joined: 13 Oct 2000 09:01
Location: Toronto, ON, Canada

Re: Containers

Post by Calderone »

Про Stacker это я конечно ляпнул, конец дня. Конечно Docker. Слушал подкаст от Google Cloud Platform где они говорят что внутри Гугла используют контейнеры уже 15 лет. Сначала тайно, потом, когда убедились, что все далеко позади, опубликовали белую бумагу и кто-то сделал на ее основе Docker. Они говорят, что с виртуальными машинами их обогнали, но в контейнерами они - безусловные лидеры. То есть звучит так, будто у них чуть ли не внутренняя полиси - все, что нужно деплоить на внутренних серверах - обертывать в контейнер. Тогда и начинаешь себя спрашивать: я что-то ужасно теряю, вот стану все деплоить в контейнерах - и отладка никогда не понадобится :upset: Не пойму только, если контейнеры настолько хороши, если это - новая переосмысленная правильная степень изоляции приложений друг от друга, то почему бы контейнеры не встроить сразу в ОС как стандартный контекст приложения? И еще один продукт превратился бы в фичу! :good:
mskmel
Уже с Приветом
Posts: 947
Joined: 24 Sep 2013 05:58
Location: US\GA

Re: Containers

Post by mskmel »

Calderone wrote: 01 Jun 2018 23:39 почему бы контейнеры не встроить сразу в ОС
https://en.wikipedia.org/wiki/LXC
LXC (Linux Containers) is an operating-system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel.
User avatar
f_evgeny
Уже с Приветом
Posts: 10373
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Re: Containers

Post by f_evgeny »

mskmel wrote: 04 Jun 2018 02:13
Calderone wrote: 01 Jun 2018 23:39 почему бы контейнеры не встроить сразу в ОС
https://en.wikipedia.org/wiki/LXC
LXC (Linux Containers) is an operating-system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel.
Добавлю чуток, Докер, это такая обертка, вокруг функциональности линуксового ядра (LXC).
Дальше, все будет только хуже. Оптимист.
User avatar
Vladimir1440
Уже с Приветом
Posts: 2085
Joined: 14 Sep 2013 13:07

Re: Containers

Post by Vladimir1440 »

Calderone wrote: 01 Jun 2018 23:39почему бы контейнеры не встроить сразу в ОС как стандартный контекст приложения? И еще один продукт превратился бы в фичу! :good:
Дык ведь давно встроено, разве нет? Извиняюсь, правда на Виндоуз-сервер, но не один черт, наоборот даже - подпираемое Микрософтом как правило быстрее "идёт в народ":
On October 15, 2014, Microsoft announced integration of the Docker engine into the next Windows Server release, and native support for the Docker client role in Windows. On June 8, 2016, Microsoft announced that Docker now could be used natively on Windows 10 with Hyper-V Containers, to build, ship and run containers utilizing the Windows Server 2016 Technical Preview 5 Nano Server container OS image.

Since then, a feature known as Windows Containers was made available for Windows 10 and Windows Server 2016. There are two types of Windows Containers: "Windows Server Containers" and "Hyper-V Isolation". The former has nothing to do with Docker. The latter, however, is a form of hardware virtualization (as opposed to OS-level virtualization) and uses Docker to deliver the guest OS image. The guest OS image is a Windows Nano Server image, which is 652 MB in size and has the same limitations of Nano Server, as well as a separate end-user license agreement.
A то,что Гипер-в и Докер можно на Win10 запустить, а не нa Windows сервере - это как раз для проталкивания в народ ими и сделано ведь (не для продакшн софта же). Типа любой олух на домашнем компе может спокойно поиграться, а вдруг eму - понравится.
User avatar
Dweller
Уже с Приветом
Posts: 12258
Joined: 20 Dec 2000 10:01
Location: Bellevue, WA

Re: Containers

Post by Dweller »

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

Return to “Вопросы и новости IT”