Docker multistage build
15. března 2022Docker multistage build je funkce, která vám může usnadnit přípravu rozličných docker obrazů, které vychází ze stejného základu. Můžete tam připravovat image pro různé účely. A zároveň efektivně připravovat image, které obsahují vše potřebné a přitom minimalistický.
Multistage build
Princip multistage buildu je ten, že v jednom konfiguračním souboru máte uveden společný základ a na jeho základě pak můžete vytvářet různé docker image.
Díky tomu tak můžete zefektivnit a zpřehlednit vytváření docker obrazů.
Tedu docker image pro vývoj, pro testing, nebo minimalistický pro produkci
Příklad
Na tomto odkaze je
docker multi stage example.
Tento ukázkový projekt můžete použít pro vyzkoušení a také na jeho základě je napsán tento návod.
Tímto příkazem provedete build image pro cíl "base":
docker build --target base ./
Lepší je však si daný image rovnou pojmenovat
docker build --target base ./ -t php-web-base
Build image pro cíl devel, který si pojmenujeme php-web-dev:
docker build --target devel ./ -t php-web-dev
Build kontejnerů, které jsou uvedeny v douboru docker-compose:
docker-compose -f docker-compose-prod.yml build
Obsah souboru docker-compose. Podstatný je parametr target, který udavá jaký image se má sestavit a následně spustiti.
version: '3.6' services: web: build: context: ./ target: devel
Pokud máte kontejner sestaven a pojmenován, tak docker image a shell konzoli v pustíte jako s jakým koli jiným docker obrazem:
docker exec -it multistage-build_web_1 /bin/bash
Video
Video ukázka a vysvětlení jak docker multistage build funguje:
Zdroje
Články na podobné téma
VMware vs Proxmox: porovnání výkonu
GitLab CI/CD: automatizace testů a nasazení aplikace
Migrace VPS z VMware na Proxmox
Změna licencování VMware
Provoz Microsoft SQL serveru na Linuxu
Zálohování: Proxmox backup server
Linux jako router a firewall
Jak náhrát docker image do Docker Registry
Linux: Logical Volume Management
Linuxový softwarový RAID
Provoz webové aplikace za proxy
Migrace mail schránek
Zálohování dat zapnutím počítače
Podman
Import Windows do virtualizace Proxmox
Docker a PHP mail
Virtualizace Proxmox
Docker a Cron
Lenovo ThinkPad X1 Carbon: zprovoznění LTE modemu EM7544
Yocto Project: Build vlastního operačního sytému pro embedded zařízení
Příprava linuxového serveru pro běh webové aplikace v jazyce Python
Jak řešit špatný výkon sdílených souborů u Dockeru
Jak začít správně používat Docker
Instalace Linuxu na dedikovaný server HPE ProLiant DL320e
Jak provést zátěžový test webové aplikace
Proč používat filesystém JFS
Jak bootovat z 4TB disku s GTP pomocí UEFI
Jak nainstalovat operační systém Mageia Linux bez DVD mechaniky
Souborový systém Btrfs
Raspberry PI
Jak zprovoznit vzdálené přehrávání přes síť na televizi s DLNA
Upgrade Mandriva Linuxu za běhu
Poznámky ke GNU/Linux
WINE - spouštíme programy pro Windous pod Linuxem
Operační systém GNU/Linux
Odběr novinek
Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k
odběru novinek.
+