Open source licence: copyleft versus permisivní přístup
본문
Na co si dát pozor při prvním spuštění Když poprvé spustíte docker run, narazíte na dvě úskalí. První je práce s daty. Kontejnery jsou ze své podstaty dočasné – když je smažete, přijdete o všechna data uvnitř. Pokud tedy používáte databázi nebo ukládáte soubory, musíte použít takzvané svazky (volumes). Bez nich se osvětlení v obývákuám po každém restartu ztratí vše, co jste uložili. Druhým častým problémem jsou porty. Kontejner má vlastní síť, takže musíte explicitně propojit port z kontejneru na port hostitele. Jinak se k aplikaci zvenku vůbec nedostanete. Základní příkaz vypadá takto: docker run -p 8080:80 nginx. Tím mapujete port 80 z kontejneru na port 8080 vašeho počítače.
Rozdělte odhad na dvě části: For more regarding Rady Pro Rekonstrukci take a look at our internet site. analytickou a implementační. Analytickou část odhadujte jako čas potřebný k pochopení problému, zmapování závislostí a návrhu řešení. Implementační část pak jako čas na kód, testy a nasazení. Důležité je, aby každá část měla vlastní kritéria „hotovo". Analytika je hotová, když máte jasný, konkrétní a ověřitelný návrh, který developer může začít programovat bez velkých otázek. Implementace je hotová, když kód projde review a testy.
Když už máte obraz hotový, neuškodí ho zmenšit. Základní obrazy jako node nebo python obsahují spoustu nástrojů, které k běhu nepotřebujete. Použijte variantu s příponou -alpine, která je výrazně menší. Jen pozor, že některé balíčky vyžadují kompilaci a v Alpine chybí standardní knihovny, takže občas musíte doinstalovat build-essential. Dále se vyplatí spojovat více příkazů do jednoho RUN a na konci odstranit dočasné soubory, aby se nezvyšovala velikost vrstvy. Například: RUN apt-get update && apt-get install -y nějaký-balík && rm -rf /var/lib/apt/lists/*.
Nezapomínejte také na pravidelné odstraňování starých, sloučených větví. Po tom, co je feature hotová a začleněná barvy stěn do obýváku hlavní větve, větev smažte. Tím se zabrání hromadění mrtvého kódu, který může náhodně ovlivnit budoucí práci. Pokud si nejste jistí, zda je větev opravdu sloučená, použijte příkaz pro zjištění rozdílů nebo se podívejte na graf historii. Udržování čistého repozitáře je stejně důležité jako psaní samotného kódu.
Nejčastější chybou při plánování agilního týmu je odhadovat celou uživatelskou story jednou částkou. Když to uděláte, analytik i vývojář mají pocit, že mají stejný prostor pro práci. Přitom analytická fáze a implementace mají úplně jinou dynamiku, jiná rizika i jinou potřebu času. Pokud odhad nerozdělíte, dopadne to buď přetaženým sprintem, nebo nedotaženou analýzou, kterou tým dohání během vývoje.
Na závěr si řekněte, jak kontejner spouštět a zastavovat. Nikdy nespouštějte více procesů v jednom kontejneru – pokud potřebujete webový server i databázi, použijte docker-compose. Ten umožňuje definovat více služeb v jednom souboru a spustit je jedním příkazem. Přitom si dejte pozor na síť: kompose vytvoří výchozí síť, ve které se služby navzájem oslovují jménem, takže v kódu použijte název služby místo localhostu. A pokud kontejner nepotřebujete, vždy ho smažte příkazem docker rm, abyste nezahlcovali disk. Tímto způsobem se vyhnete nejčastějším začátečnickým nástrahám a Docker se stane vaším spolehlivým pomocníkem.
Nakonec si po každém sprintu vyhodnoťte reálný čas strávený na každé fázi. Nesrovnávejte jen celkový čas s odhadem, ale sledujte, kde se chyba nejvíc projevuje. Často zjistíte, že analýza trvá dvakrát déle, než se čekalo, ale implementace pak trvá polovinu odhadu. To je cenná informace pro příští plánování – a tým přestane přeplňovat sprinty nereálnými čísly. Důležité je, abyste tento postup dělali opakovaně, ne jednou za čtvrt roku. Jen tak se odhady stanou přesnějšími a tým začne plánovat podle skutečných dat, ne podle pocitů.
Co dělat, když kontejner nekomunikuje s okolím Kontejnery běží izolovaně, takže pro přístup zvenčí musíte explicitně publikovat porty. Častou chybou je spustit kontejner bez parametru -p a pak se divit, že aplikace na localhostu neodpovídá. Použijte docker run -p 8080:80, kde první číslo je port na hostiteli a druhé uvnitř kontejneru. Stejně důležité je rozlišovat mezi ENTRYPOINT a CMD. CMD lze snadno přepsat při spuštění, zatímco ENTRYPOINT definuje hlavní proces. Pokud chcete, aby se kontejner choval jako spustitelný příkaz, vložte do ENTRYPOINT binárku a do CMD její výchozí argumenty. Tím předejdete situaci, kdy vám docker překryje celý příkaz a aplikace se nespustí.
Jakmile začnete kontejnery používat častěji, narazíte i na správu prostředí. Ideální je držet konfiguraci jako proměnné prostředí, ne přímo v obraze. Například hesla nebo API klíče nikdy nepatří do Dockerfile, protože by se tím dostala do historie obrazu a každý, kdo obraz získá, by je viděl. Místo toho použijte soubor .env nebo proměnné předávané přímo při spuštění. Docker-compose umí tyto hodnoty automaticky načítat, takže stačí nastavit environment v definici služby. Tento návyk se vám vyplatí hned, jak začnete nasazovat do produkce.
댓글목록 0
등록된 댓글이 없습니다.