Covistop Dezinfekce rukou Anti-Covid - 100 ml s rozprašovačem, 500 ml se stříkací vložkou, Skladem
Zobrazují se odpovědi 1 až 7 z 7

Oddělení projektů na serveru - Docker?

  1. 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í?

  2. Co se právě děje na Webtrhu?
  3. 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.

  4. 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

  5. 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.

  6. 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ů

  7. 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.

  8. 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.

Spolupracujeme: Jooble.org, Aximum - profesionální překlady Hostujeme u Server powered by TELE3