Автор Тема: Докер - архитектура  (Прочетена 7016 пъти)

pennywise

  • Гост
Re: Докер - архитектура
« Отговор #15 -: Mar 14, 2017, 00:39 »
Цитат
Ей сега ми дойде една друга идея - А може ли един докер пакет да се премести от един докер клиент към друг както си работи вътре без прекъсване и без да разбере че е преместен? за простота приемаме че всичко е еднакво (ОС домакин, ОС клиент, докер домакин, докер клиент) но на различни машини (е има жица между тях де
Може и да може, според зависи какво имаш  предвид, ако е свръзано с това -
Цитат
4. Опитвам се да сравня - сега-засега Виртулка спрямо Докер откъм непрекъсваемост (или поне мин.) на процеса когато се наложи обновяване я на ОС (я на .Нет/Моно и каквото още се сетите), защото рано или късно се налага заради някой бъг напр. да се обнови .Нет ама понякога и ОС а някой ден ще се наложи нова ОС т.е. ъпгрейд щото напр. да кажем има .Нет за Уин98 ама излиза .Нет 4 и опа от Уин7 нагоре - докера ще спаси ли положението - затова малко неподготвен се изказах - ще може ли докер клиент (за Уин98 - знам че няма това е само пример) да стартира пакет направен вътре с .Нет4/Уин7/8/10 (явно от по-нов докер, предполагам новите ще са обратно съвместими с по-стари версии)

В докер има volumes - фаиловете, на приложението или базата могат да са там и да се монтиран на различни контейнери и те могат да бъдат заместени(контейнерите).
Освен ъпдейти за сигурност на хоста няма какво да му се инсталира друго (ако се ползва само за това).
Всички зависимости за сървиса обикновенно са инсталирани на имиджа от който е стартиран контейнера.

Цитат
А на втория по важност въпрос още нямам отговор - как и кога се разбира /при правенето или при стартирането или може и никога да не се разбере ако не се случи/ дали това което е вътре (в пакет) ще върви под това което е отвън (ОС домакин)
Незнам какво имаш предвид отвътре и отвън. Ако върви в контейнера не ти е нужно да върви и извън него.
Цитат
2. Независимо дали е на по-високо ниво и върви в/у ОС може ли в него да се инсталира друга ОС
Ако отидеш да гледаш някой от тези for dummies туториали ще си отговориш на доста от въпоросите още в самото начало.  Накратко да - можеш да базираш всеки имидж на популярна дитрибуция и да инсталираш каквото искаш там изполвайки пакетния и мениджър.

Доста неща ще ти се изяснят за един 2-3 часов курс, и ще можеш да зададеш малко по-конкретни въпроси, защото на готово няма как, колкото и да ти се иска да не губиш време в това. А въпросите са ти доста объркани. Също така е малко неуважително да гледаш отвисоко на курсове for dummies(повечето от нещата говорени тук, ще ги има в 95% от курсовете в интернет) а после да очакваш отговори от хора минали през такива и да търсиш "сериозна" документация. Всеки ресурс за обучение е ценен - зависи ти какво искаш и можеш да извлечеш от него.

Цитат
и литература за микро сервизи/услуги, че и те не са ми ясни
https://en.wikipedia.org/wiki/Microservices

Пример: WordPress сайт
loadbalncer - microservice
app1(php interpreter) - microservice
app2(php interpreter) - microservice
db_master(mysql) - microservice
db_slave(mysql) - microservice
cache (redis, varnish, whatever) - microservice

Твоя scraper може да е една, а може и две - зависи от теб и/или от екипа - може да е един микросървис който скрейпва и един който пази информацията или както ти е по-удобно.
« Последна редакция: Mar 14, 2017, 00:42 от pennywise »
Активен

jet

  • Напреднали
  • *****
  • Публикации: 3472
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: Докер - архитектура
« Отговор #16 -: Mar 14, 2017, 01:53 »
Проблема, е че човека мисли по Уиндоуски и се опитва да накара и Линукс да прави същите работи.
.НЕТ и прочие простотии.
Пак  казвам -изстреляй някой друг Докер и си поиграй.
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

remotexx

  • Напреднали
  • *****
  • Публикации: 3211
    • Профил
Re: Докер - архитектура
« Отговор #17 -: Mar 14, 2017, 05:02 »
Накратко мен не ме интересува (засега) КАК ги прави нещата а КАКВО може да прави (и какво не може) за да преценя има ли смисъл да се ползва, научава и пр. ама на сайта им само рекламни бози и нищо съществено - явно за да си продават услугите покрай него...

напр. това е типичен пример (все едно е копирано от сайта 1 към 1)
"Накратко да - можеш да базираш всеки имидж на популярна дитрибуция и да инсталираш каквото искаш там изполвайки пакетния и мениджър."  само дето не уточняват напр. че не можеш в Уидоус докер - клиент/пакет да иснталираш линукс инак и с цветни картинки показват (къвто искаш линукс вътре слагаш - ама без уточнението че и отвън трябва да е линукс - сега стана ли ви ясно коя е външна ОС за докер-клинента и коя инсталирана вътре в докер пакет/ите/)

Все пак да уточня понеже не ползвам стандартна терминология (още не съм решил дали да го уча), но смятах че на всеки ще мус тане ясно, че
докер-клиент както и всеки друг софтуер е писан за определна ОС /или поне ядро на ОС/ и се зарежда и изпълнява от/в нея и аз я наричам 'външна' за докер-клиента, по желание може в докер пакет също може да се инсталира ОС /с някой ограничения за типа спрямо външната/ която нарекох вътрешна. Вътрешна не е задължително да има инсталирана докато без външна няма да тръгне

и НЕ! - отговори на въпроса КАКВО може напр. смартфон и отговор ами проектирай си чип, направи си смартфон и си поиграй с него и ...нейде по трасето ще разбереш какво може да прави не ме устройват (особ. ако накрая се окаже че смартфон не ми върши работа)

един пример за конкретен въпрос тогава - споменава се 2 вида изолация - hyper-v && process isolation и не уточняват повече подробности
https://blog.docker.com/2016/10/considerations-running-docker-windows-server-2016-hyper-v-vms/
Q: ­Do you need a hypervisor layer before the OS in both Hyper-V and Docker for Windows Server containers?
A: The hypervisor is optional. With Windows Server containers, isolation is achieved not with hypervisor, but with process isolation, filesystem and registry sandboxing.
и типичен отговор на "Какво да ползвам" - Ми според зависи
https://blog.docker.com/2016/04/physical-virtual-container-deployment/


и не уточняват КАК е реализирано това
и понеже всички знаем че под уиндоус не може от един service да се стартират две инстанции
та въпрос - може ли с докер да се постигне това - ако да с кой от двата варианта на изолация ще работи и евентуално ще трябва ли да се инсталира вътре ос
напр. най-честия service който се опитват да пускат (според SO) по няколко пъти (което не е никакъв проблем под Линукс) и удрят на камък под Уиндоус е TOR


Благодаря за помощта.

Значи да обобщим ситуацията дотук
Q. Ще ми върши ли работа докер/каква работа може да ми свърши/какво може да прави?
А. Ами научи го и ще разбереш.
// ама аз тоя отговор го знех от преди това


П.П. Примера ми беше със скрейпър понеже попаднах на следното извращение на Питон
https://medium.com/@tonywangcn/how-to-build-a-scaleable-crawler-to-crawl-million-pages-with-a-single-machine-in-just-2-hours-ab3e238d1c22#.2p9cpmbow
и пича едвам подкарва 40 контейнера, а па то и един скрейпър амааа http get/post спокойно може да си се направи многонишково и не 40 ами стотици и хиляди страници ще сваля в секунда, ама нали щото й фьйешън дай да го напрайм с докера, а?

и за пълнота и другата гл.т. не с код/Питон и пр. ами направо с готови приложения (специално за колегата с проф. изкривяване на към уиндоус^W micro-services , да не забравяме че могат и цели приложения да се подкарват вътре)
http://robertwdempsey.com/python-web-scraper-docker-image/
« Последна редакция: Mar 14, 2017, 05:25 от remotexx »
Активен

deant01

  • Напреднали
  • *****
  • Публикации: 221
  • Distribution: Debian/sid
  • Window Manager: Gnome 3
    • Профил
Re: Докер - архитектура
« Отговор #18 -: Mar 14, 2017, 07:40 »
Ще ме прощаваш, но на много от въпросите ти беше отговорено доста конкретно. Или просто не си готов да видиш отговора, въпреки че е пред очите или просто очакваш някой да свърши работата вместо теб.

ето ти някой директни отговори:

1. докер под линукс:
 - Контейнерите ползват домакиснкия кернел. Представи си, че кернела се разклонява на 2 еднакви клона, като и в двата е абсолютно функционален.
 - Контейнерите в този докер са САМО линукс базирани - като във всеки от тях НЯМА кернел а само библиотеки, инструменти, пакетен мениджър и главния пакет, който искаш да върви изолиран от домакина.
 - за разделянето на госта и домакина се ползва KVM. Какво е KVM? - Kernel-based Virtual Machine (KVM) is a virtualization infrastructure for the Linux kernel that turns it into a hypervisor. It was merged into the Linux kernel mainline in kernel version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions. Демек е това е софтуерното ниво, което свързва виртуалните възможности на процесора със софтуерната част на компютъра.

2. докер под ВИН:
 - контейнерите могат да са базирани на линукс ИЛИ на Вин Сървър 2016. За линук контенерите се ползва микро линукс кернел, инсталиран заедно с Докер за вин(от там всичко с докер за линукс става почти еднакво). За Вин сървър се ползва кернела на Вин.
    -- от тук идва следното заключение - контейнерите може да са само Вин Сървър 2016. В докер НЕМОЖЕ да се инсталира пълноправна ос. Нито линукс нито Вин. Разбивам ти го - НЕ МОЖЕШ ДА ДРЪПНЕШ ВИН7 И ДА ГО ИНСТАЛИРАШ В ДОКЕР.Нещо за което ти пита поне 3 пъти и 3 пъти ти беше отговорено
 - относно hypervisor под вин. Явно има няколко начина да се постигне. За контейнери си го пишеше в прав текст - или  Hyper-V (което използва подобно на KVM хардуерните възможности на процесора за виртуализация) или софтуерно разделяне на процесите, предполагам с дузпа в производителността.

Въпрос:
Какво можеш да правиш с ДОкер?
Отговор (с пример):

1.Цел - Искаш да си хостваш собствен сайт на Wordpress.
2.Решение - Имаш линукс машина, на която си инсталирал докер. В докер хъб намираш:
 - контейнер с инсталиран на него http сървър и wordpress пакет. Той идва готов за пускане. Просто и лесно.
 - контейнер с инсталирам MySQL/MariaDB - готов за употреба, само трябва да му сложиш главна парола на mysql-a.
3. стартираш двата контейнера. Отиваш си на собствиния адрес http://127.0.0.1 - вече имаш готов wordpress в началната му насройка посочваш за MySQL пак 127.0.0.1 Така се свързват двата контейнера и работят като два отделни компа едния с Веб страница, другия с бази данни.
4. Отговор на скрития въпрос - защо правим тази гимнастика?!
 - за сигурност - ако някой хакер ти пробие или уеб-а или базите данни, той ще види един празен линукс само с един пакте примерно - бази данни. Останалата част от този компютър (говоря за истинското желязо) е недостъпна за него.
 - удобство - това нещо се подкарва на всеки линукс с докер бързо и лесно.
 - 3-то най-важното - не се занимаваш с VirtualBOX. докер се стартира заедно със системата като сървис. т.е. всичките ти контейнери се зареждат on boot готови работещи, свързани един с друг.
 -За разлика от обикновения виртуализиращ софт няма забавяне за емулиране на хардуеър, което води до повишаване на производителноста в пъти.


Надявам се бях максимално ясен. Тази материя е сложна, неможе да се предаде само с приказки, трябва да се чете. Ако искаш четеш, ако не искаш минаваш на друго, което смяташ е по лесно.

П.П. Смятам, че аналагията ти за смарфона и чипа е сбъркана на много нива. Не е нужно да пишеш такива коментари и после да се жалваш, че някой ти е говорил остро във форума примерно.

Peace
Активен

Ripples of paradox spread out across the sea of causality.

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Докер - архитектура
« Отговор #19 -: Mar 14, 2017, 09:50 »
Нещо, което слушах вчера:

http://www.nerds2nerds.com/podcasts/2017-03-11-e87-p2.ogg

Говори се за сигурност. Обяснява се, че да си изолираш микро-услугите само по себе си не е сигурно, ако не е писано с идеята да се ползва по този начин.

Не съм задълбочавал с Docker, защото този тип технологии не са ми интересни. Но, ако използва обикноения chroot, то не е сигурен. От chroot се излиза за половин секунда.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

remotexx

  • Напреднали
  • *****
  • Публикации: 3211
    • Профил
Re: Докер - архитектура
« Отговор #20 -: Mar 14, 2017, 20:37 »
Най-после отговор по същество.
Благодаря за вниманието.

Знаех си аз, ама винаги съм подозирал... че даже на официалния сайт лъжат
https://www.docker.com/what-container
https://www.docker.com/sites/default/files/what_is_a_container.png
Забележете на картинката къде е ОС, но аз съм по-склонен да повярвам на колегата, че вътре ОС не може да има, защото самите те си противоречат и по-следващите им картинки в детайли вече ОС го няма. Както казах и преди - останах с впечатлението че всичко там е една рекламна боза

Понeже аз не смятам да го ползвам заради сигурността, нито за микро услуги, а само за улесняване на deployment-а и да ме предпази от т.нар. DLL/dependency Hell имам само още един единствен въпрос за финал:
-извинявам се че препратката е към Уиндоус ама там го видях за първи път
https://blog.docker.com/2016/09/dockerforws2016/
"...image takes up 10GB. Thanks to Docker’s highly efficient image layering, this is not a big problem in practice. Any given Docker host only needs to pull the base layer once, and any images pulled or built on that system simply reuse the base layer."
https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/#images-and-layers
тука вече е убунту - макар че колегата каза че не може да има там убунту ама на объркват хората - The diagram below shows a container based on the Ubuntu 15.04 image.

както и да е, въпросът е че на диска за 2 контейнера с приложение от 10 К докера ще ми заеме само напр. 1*10Г + 2*10К = 10Г докато 2 ВМ напр. ще изядът 2*10Г = 20Г
обаче като ги стартирам двата докер контейнера в паметта те няма ли пак да ми изядът 2*10Г = 20G е айде да кажем не ползват всичко от там ама напр. ако ползват 50% функционалност ще заемат 2*5 = 10G?

П.П. Моето отношение към хората винаги е било реципрочно на отсрещната страна - така че който се сърди на себе си се сърди...

Peace
« Последна редакция: Mar 14, 2017, 20:40 от remotexx »
Активен

deant01

  • Напреднали
  • *****
  • Публикации: 221
  • Distribution: Debian/sid
  • Window Manager: Gnome 3
    • Профил
Re: Докер - архитектура
« Отговор #21 -: Mar 14, 2017, 21:27 »
оох... как баш тебе те лъжат бе колега...аз излизам от дискусията, защото както каза колегата по-горе - трябва да се чете. няма кой да ти го смели и налее... въпреки,че точно това се опитах
Активен

Ripples of paradox spread out across the sea of causality.

jet

  • Напреднали
  • *****
  • Публикации: 3472
  • Distribution: debian
  • Window Manager: kde
    • Профил
Re: Докер - архитектура
« Отговор #22 -: Mar 14, 2017, 23:04 »
Лъжат, защото Майрософт видяха какви магии стават с контейнерите, а и админите ги харесаха и решиха и те да са куул - "И ние имаме контейнери".
Само дето на Уиндоус архитектурата не става за тази работа (те един файл не могат да отворят от две места, та камо ли ОС-и) и намазаха работата с едни хипервайзори дето са много далече от контейнерите- тяхното е повече виртуализация.

А, че има защо да лъжат се вижда, че бая Уиндоус фенове хванаха въдицата (remotexx вкл.) и почнаха да точат ножа за велики работи. Това е като roaming profile на Уиндоусите - имало го щото в Юникс си работело. Само дето в МС не работят и не е точно да държат файловете, ами ги синхронизират.

Аз например имам Chromebook на който върви ChromeOS и "паралелно" ARM Debian - превключваш между двата с бързи клавиши и си работят в паралел. Почти нулев овърхед.
При сървърите е още по-яко - дигаш и сваляш сървъри, но само едно ядро работи.

go_fire - лесно се излиза от chroot - ама си е още един слой в сигурността - без него е още по-зле - да пазиш Апачи или MySQL инстанции.
Активен

..⢀⣴⠾⠻⢶⣦⠀
  ⣾⠁⢠⠒⠀⣿⡁
  ⢿⡄⠘⠷⠚⠋
  ⠈⠳⣄⠀⠀⠀⠀  Debian, the universal operating system.

remotexx

  • Напреднали
  • *****
  • Публикации: 3211
    • Профил
Re: Докер - архитектура
« Отговор #23 -: Mar 15, 2017, 20:12 »
Най-после си дойдохме на думата
те това са отговорите които исках да чуя
Още веднъж благодаря на всички отзовали се.

Само да уточня, че не съм фен на Уиндоус /е признавам - налага ми се да го ползвам/
инак и под линукс стават фалове - сега ще издам една тайна, тайната на двата хикса /някой ден може да станат и 3/
..отначало беше само един, но... човек и добре да живее.. един ден от тука те от тоя сайт се омотаха нещо с паролите а аз вече нямах ел. пощата през която си създадох акаунта тука,  и... те така - сега съм с нов /е то беше преди бая време това де/
та да дам един съвет и аз - не се прави така /да карат хората да си изкарват нови акаунти/
е така се прави
ако един потребител три пъти напише същата парола...  ;D ;D ;D
 [_]3 [_]3 [_]3
Активен