Благодаря на всички отзовали се.
Общо взето както се очакваше колкото хора толкова мнения - това е нормално де...
Ще дам още малко информация (нарочно я пропуснах отначало, да не повлияе на изясняването по принцип на нещата)
1. Има версия и за Уин -
https://www.docker.com/docker-windowsно има още и Docker CE for AWS, и Docker CE for Azure
2. Понеже очаквах подобен 'разнобой' се надявах поне за насоки към правилната/подходяща литература, понеже като с всяко ново нещо бъка с бози (в стил for dummies, for 24 hrs etc.)
3. Примера беше с уин за да е по-абстрактен и заради 4.
4. Опитвам се да сравня - сега-засега Виртулка спрямо Докер откъм непрекъсваемост (или поне мин.) на процеса когато се наложи обновяване я на ОС (я на .Нет/Моно и каквото още се сетите), защото рано или късно се налага заради някой бъг напр. да се обнови .Нет ама понякога и ОС а някой ден ще се наложи нова ОС т.е. ъпгрейд щото напр. да кажем има .Нет за Уин98 ама излиза .Нет 4 и опа от Уин7 нагоре - докера ще спаси ли положението - затова малко неподготвен се изказах - ще може ли докер клиент (за Уин98 - знам че няма това е само пример) да стартира пакет направен вътре с .Нет4/Уин7/8/10 (явно от по-нов докер, предполагам новите ще са обратно съвместими с по-стари версии)
Сега разбирам че това е невъзможно, от тая гледна точка виртулаката е по-добре, т.е. правиш нова и стартираш в нея приложението в клъстер - новото със старото и после се убива старото т.е. целта е непрекъсваемост на процеса особ. когато се наложи обновяване (ОС, пакет и пр.)
дотук - предимиства и недостатъци: (така ги виждам аз нещата)
+Докер е по-добре откъм deployment не се налага да се бориш със зависимости напр. .Нет3.5 обаче ОС има .Нет4 който е валиден заместител но ако се ползва нещо по-нестандартно или се очаква повечение стриктно 3.5 и почва да гърми.. докато в докера ще си пърпори под .Нет (айде Моно) 3.5 баш както си му е редът
-обаче ако както се оказва докера върви под ОС - рано или късно идва ред на обновяване и на ОС т.е. не за инсталирана/та вътре в пакетите и тук идва цялото объркване - докера хем има вътрешна ОС хем и външна - та дотук поне ми се изясни че все пак работи под ОС и не е като ВМ
т.е. то и под ВМ го има този проблем ама е по-надолу по трасето напр. ВМ в. 5.1.16 r113841
ще си подкара Уин7,8,10,11.. и т.н. докато новата ОС не поиска ресурс/хардуер който ВМ няама, не поддържа, не може да задели или не може да емулира (знам че не е емулатор)
та ВМ може да издъжи много повече нови версии на ОС докато докера (щом госта се линква директно към ядрото на домакина) явно е тясно свързан т.е. ако се обнови ОС на сървъра/външната ще трябва да се сменят и всички докер пакети вътре
А на втория по важност въпрос още нямам отговор - как и кога се разбира /при правенето или при стартирането или може и никога да не се разбере ако не се случи/ дали това което е вътре (в пакет) ще върви под това което е отвън (ОС домакин). Дотук само разбрах че (май) не може да има домакин/Уин с гост/Линукс щом е само тънка обвивка и директно се правят извиквания между двете ядра (макар че и двете уж трябва да са POSIX съвместими
)
Все пак ще трябва да намеря свястна литература по въпроса...
и литература за микро сервизи/услуги, че и те не са ми ясни - напр. data scraper - от гледна точка на клиента това си е 1 единствена услуга ама аз мога да го разглеждам като 2 микро услуги напр. 1) сваляне на страницата 2) извличане на информацията, но (както казваше сенсей Йода - винаги има по-голяма риба)
и тези 2 мога да ги заделя на по още 2 напр. пращане на заявка и получаване на отговор/уеб страница и т.н. до безкрай т.е. докато 1 микро услуга ми е един оператор на избрания език за програмиране - то и за това ще трябва да се чете (барем по дефиниция какво се включва в една микро услуга)
П.П. Знам че аз неправилно подхождам към въпроса и не му е това основната цел на докера, ама още се опитвам да я разбера, затова литература ако може - ама само ако сте я изчели и ви се струва солидна, защото не си струва да го изуча из основи само за да преценя че не ми върши работа, ако става ще се чете.. няма как - докато стигна до асемблера (или машинния език) // ееех лесно им е на компютрите и с 1 език се оправят само)
П.П.П. Та аз изхождам откъм обратната страна - имаме блейд сървър който през някаква /пара/ виртуализация се вижда като напр. някакъв брой стандартни копм./процесори напр. Intel Xeon E5-2697V4 което в общия случай може и да няма нищо общо с реалния хардуер/блейд, но като такъв се вижда. Върху това нещо вървят някакви виртуалки и в тях някакви приложения. Това ми бе изходната постановка - и сега вътре ОС ще издържи няколко версии на приложението после ще се наложи обновявне на ОС /това май докера няма да го преживее, не и без обновяване на самия докер/ и накрая ще се наложи обновяване и на виртуалките но до известно време напр. представяне като по-нов Xeon процесор ще спаси положението т.е. ще си карат със стария блейд ...знам че няма нищо вечно.