Patchovaný Docker host nestačí, kontejnery mají vlastní PHP i OpenSSL
Zdroj: Virtualization Howto

Když hostitel s Dockerem dostane aktualizace, aplikace v kontejnerech z nich nic nemá – image si nese vlastní kopii PHP, OpenSSL i dalších knihoven. Brandon Lee na Virtualization Howto proto popisuje, jak zjistit, co v image je, a jak ověřit, že kontejner skutečně přešel na nový image. Záměna je častá: patch hostu vypadá jako opravená aplikace.
Kontejnery s Linuxem sdílejí jádro hostu, ale filesystém mají vlastní. Patch hostu je proto jen první vrstva; druhou je Docker Engine a třetí samotné image.
Klíčové parametry
- Co host neřeší: knihovny uvnitř image, například PHP nebo OpenSSL
- Inventura:
docker ps --formatadocker compose images - Skenování image: nástroje Trivy a Grype, v Dockhandu součástí kontroly
- Pull není nasazení:
docker compose pullimage stáhne, kontejner běží dál - Restart nepomůže:
docker restartspustí kontejner se stejným image - Vlastní build:
docker compose build --pull --no-cache app
Srovnání
| Host (Linux) | Kontejner (image) | |
|---|---|---|
| Co obsahuje | jádro a systémové balíčky | aplikaci a její závislosti |
| Jak se patchuje | aktualizace balíčků na hostu | pull nového image a recreate |
| Jak zkontrolovat | verze balíčků na hostu | docker compose images, Trivy, Grype |
| Častá chyba | — | pull bez docker compose up -d |
| Pro koho | kdo drží jádro a systém | kdo provozuje webové aplikace |
Rozdíl je v tom, kde software bydlí. Host řeší jádro a systém, kontejner si veze vlastní závislosti – a proto se obojí patchuje zvlášť, s jinou kontrolou dokončení. U image, které si stavíte sami, navíc nestačí pull: musí se rebuildovat z novější základní image.
Pro správce: Začněte inventurou, ne hromadným pullem: docker ps a docker compose images ukážou, co kde běží, a Trivy nebo Grype řeknou, jaké verze balíčků image obsahuje. Nový image sám o sobě neznamená opravenou aplikaci – u tagu latest ani u pevně zapsaného digestu není jisté, co přinese, proto čtěte poznámky k vydání. Po nasazení ověřte běžící kontejner přes docker compose ps a logy, ne jen to, že pull proběhl.
Zdroje
- Your Docker Host Is Patched. Your Containers Might Not Be. — Virtualization Howto
Odkazy vedou na primární zdroje. Text článku je redakční shrnutí, ne převzatá zpráva.