Čistě laický dotaz k tomu WSL2. Zkusil jsem přes to běžet docker. Vyvíjím několik větších projektů v javě (v IDEA), potřebuju je přes docker compose spouštět a ladit. Pro docker ve windows je víc řešení. Nejstarší - a které se mi osvědčilo a zatím u něj zůstávám - používá virtualbox vm, ve které běží docker server. Klient a všechno ostatní je "nativně". Dál mají docker desktop který běží buď přes hyperv nebo wsl2. Zkusil jsem to a první dojem byl špatný.
Je to hodně pomalé. Například build docker image přes maven plugin trvá tak 4x déle než u toho legacy řešení s VB a to je u největšího projektu ca 12min vs 3min a v praxi nepoužitelné. Pull je taky pomalejší.
Četl jsem, že problém může být, že soubory projektu jsou na windows filesystému a ne v tom "virtuálním filesystému". Že je tam velká výkonová ztráta. To bych tam ale předpokládám musel přesunout všechno? (git, maven repozitář, IDE?) V podstatě bych měl udržovat ten virtuální systém spolu se všemi tooly... a IDE nechat taky běžet linuxové přes ten x.org? Opět, laický pohled - WSL neznám - ale na první pohled je to dost komplikované oproti virtualboxu..
Zajímavé je, že start/běh těch kontejnerů zas tak ovlivněný není. Naopak bych řekl, že je to o fous rychlejší než s tím VB. Problémem tedy budou intenzivní operace s filesystémem (při kompilaci, buildu image atp. se přesýpají stovky mega a hromada filů). Nevím přes jaký protokol komunikuje v tom legacy řešení hostová mašina (kde jsou zdrojáky, tooly a docker klient] s virtuálkou (kde je docker server), ale překvapuje mě, že tam není až tak velká výkonová ztráta (zkoušel jsem celé rozjet i na linuxu nativně a zpomalení tam bylo, možná 20%?? ale nic co by v praxi příliš vadilo). Ten WSL2 engine mi přijde v tomhle ohledu nepoužitelný. Nebo to používám špatně.
Používáte to někdo na vývoj s dockerem v popsaném use casu (velké projekty, java, IDEA)? Jak s tím fungujete?