Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Oddělení projektů na serveru – Docker?

tomas.rakusan79
verified
rating uzivatele
18. 4. 2020 21:37:53
Ahoj. Mám VPS s velkým výkonem, kde mi běží aplikace různých klientů a rád bych jejich služby trochu oddělil od sebe - když je na jedné aplikaci memory leak, aby se zasekané apache nedotklo klientů všech. Nebo když potřebuji nějakou službu přesunout na vlastní server, aby to bylo trochu jednodušší.
Je na tohle určený Docker? A jak by to v mém případě fungovalo?
Na každém konteineru by běžela jedna aplikace a obsahoval by vše, co aplikace potřebuje (maily, apache, příslušnou verzi php).
Možná využití Dockeru chápu špatně a na tohle se to nehodí. Případně jaké na tohle doporučíte řešení?
18. 4. 2020 21:37:53
https://webtrh.cz/diskuse/oddeleni-projektu-na-serveru-docker/#reply1448998
TomasX
verified
rating uzivatele
(4 hodnocení)
18. 4. 2020 22:06:26
O kolik aplikací se tak jedná? S jakým provozem? Co vše za služby takhle chceš provozovat? Jaké parametry máš u vps?
Docker se k tomu dá použít, ale přidá ti další míru komplexnosti, budeš muset nějak vyřešit routování a překlad adres (reverzní proxy pro http/https přenos není tak velká komplikace, ale pro email nebo ftp již je). Píšeš výkonné vps, ale nemyslím, že je jeho výkon k tomu dostatečný, abys tam měl několikrát nějaký proces management pro databázi/apache atd., navzájem se budou negativně ovlivňovat a může to mít vedlejší efekt, děláme to takhle na serverech, ale ty mají několik desítek cpu jader, to je jiná písnička.
Na oddělení služeb máš dvě hlavní cesty, SW přes kvóty a limity a kernelovou přes memory limity a zpřažení cpu (např. framework numa). Docker umí dobře memory limity, už ale neumí dobře přizazení konkrétních cpu jader, aby nedocházel k vzájemnému přetahování.
Docker ti opravdu ale ulehčí ten přesun na vlastní server, vše ostatní ti udělá složitější.
U emailů tam moc možností nemáš, než mít stejně společný nějaký smtp relay a databázi, je lepší to řešit centralizovaně, jinak je s tím dost práce vzhledem k tomu jak se celá problematika zesložitila za poslední roky, je lepší to obecně využít nějakou placenou službu a nechat si to spravovat.
U apache máš poměrně solidní php-fpm jako proces management, může to k tomu dobře využít, udělat qouty, nechat v dockeru spuštěnou samostatnou instanci fpm s pár vlákny (tak nějak to má wedos, mimochodem). Před tím ale musí stát jeden apache, který ti bude řešit ssl, terminaci spojení atd.
S databázemi je pak lehce problém, pokud jde o nejpoužívanější mariadb/mysql a postrgres, moc nemají rádi více instancí na jednom serveru, protože se navzájem přetlačují o cpu a disky kvůli low level optimalizacím a hackům, vede to až k pádům nebo ztrátě dat, záleží o kolik jsi server přetížil. Řešením je opět oddělit zdroje, přidělit konkrétním instancím konkrétní jádra a disky, tj. spíše udělat vm než container.
18. 4. 2020 22:06:26
https://webtrh.cz/diskuse/oddeleni-projektu-na-serveru-docker/#reply1448997
Docker je takové řešení pro vývojáře a pro chudé - funguje to, ale že by to ulehčilo výrazně práci?
Ostatně ve VPSce - virtuálním stroji - pouštět další virtualizaci typu Docker? Virtuál ve virtálu?
Neříkám že to nepůjde, ale...
Pokud to má jít do provozu a zvládat vyšší/vysoké zátěže, tak si pořiď víc menších VPSek, vlastní server s virtualizací a nebo serverovou farmu
19. 4. 2020 07:30:30
https://webtrh.cz/diskuse/oddeleni-projektu-na-serveru-docker/#reply1448996
TomasX
verified
rating uzivatele
(4 hodnocení)
19. 4. 2020 08:43:02
Docker není virtualizace a neprobíhá žádný překlad instrukcí nebo adres v paměti, spuštění aplikace v dockeru je levné. Teda až na síť, vychozí chování využívá NAT a s tím spojené problémy a propady výkonu, stejně tak je problém disk, věci typu overlayfs mají obrovskou režii a trpí cokoliv co potřebuje vysoký výkon disků, nvme disky jsou v plné rychlosti neprovozovatelné.
Z tohohle pohledu se nedá mluvit o virtualizaci ve virtualizaci a nevadí mít docker na vps.
Ale jinak souhlasím, že bych raději měl více vps.
19. 4. 2020 08:43:02
https://webtrh.cz/diskuse/oddeleni-projektu-na-serveru-docker/#reply1448995
Virtualizace na úrovni operačního systému
Virtualizuje se fyzický server na úrovni OS, což umožňuje běh více izolovaných bezpečných virtuálních serverů na jednom fyzickém serveru. Prostředí hostovaného OS sdílejí jeden OS s hostitelským systémem – tj. stejné jádro OS je použito pro implementaci hostovaného OS. Aplikace běžící v hostovaném prostředí jej však vnímají jako samostatný systém. Mezi příklady patří LXC, Docker, Linux-VServer, Virtuozzo (pro Linux nebo Windows), OpenVZ, kontejnery Solarisu a FreeBSD Jail.
Virtualizace – Wikipedie
Spíše to je o definici pojmů
19. 4. 2020 08:50:15
https://webtrh.cz/diskuse/oddeleni-projektu-na-serveru-docker/#reply1448994
TomasX
verified
rating uzivatele
(4 hodnocení)
19. 4. 2020 09:45:23
popis na české wiki je ale chybný, docker (resp. linux namespaces) není virtuální stroj, není to ani bezpečné oddělení (jako je u zones nebo jails). Správné vysvětlení je, že docker je odlehčená virtualizace, která umožňuje běh izolovaných uživatelský procesů (user space tasks) pod společným kernelem s dopředu přiděleným zařizeními (devices).
OpenVZ nebo Linux-VServer již ale virtuální stroj používají a k popisu sedí.
Kontainery se pod virtualizaci zařadily dodatečně, protože z pohledu aplikací se to jak oddělený systém tváří. V tom příspěvku jsem druhou větou odůvodnil proč to není virtualizace z pohledu o kterém se bavíme (provoz jednoh v druhém). Máš pravdu, že ty termíny jsou hodně měkké a dají se vysvětlovat jakkoliv. Určitě bych ale netvrdil, že docker na vps je virtualizaci ve virtualizaci, to je špatně, oba termíny nejsou srovnatelné a postavením vedle sebe se mění význam až příliš. To by pak člověk nemohl spouštět javu na vps.
19. 4. 2020 09:45:23
https://webtrh.cz/diskuse/oddeleni-projektu-na-serveru-docker/#reply1448993
williamolivia250
verified
rating uzivatele
19. 4. 2020 10:24:11
I must thank you for the efforts you have put in writing this blog click here. I really hope to view the same high-grade blog posts by you later on as well. In fact, your creative writing abilities has inspired me to get my very own blog now ;) I was pretty pleased to discover this website. I want to to thank you for your time due to this fantastic read!! I definitely loved every bit of it and i also have you book marked to look at new things in your site.
19. 4. 2020 10:24:11
https://webtrh.cz/diskuse/oddeleni-projektu-na-serveru-docker/#reply1448992
S dockerem si pridas dalsi praci. A navrh projketu je take casto treba upravit. Pro tebe by bylo reseni fyzicky server a na tom kontejnerova virtualizace a vytvareni virtualu mit automatizovane.
Sam apache take umoznuje ruzne omezeni jednotlivych klientu....
Ale nez se do necho pustit, je dobre si ujasnit proc presne to chces a co od toho ocekavas.
19. 4. 2020 11:56:02
https://webtrh.cz/diskuse/oddeleni-projektu-na-serveru-docker/#reply1448991
Pro odpověď se přihlašte.
Přihlásit