# Kontenery

> System "pakowania" aplikacji i jej zależności w spójne środowisko uruchomieniowe.

---

LLMS index: [llms.txt](/llms.txt)

---

<!-- overview -->

Ta strona omawia kontenery i obrazy kontenerów, a także ich zastosowanie w utrzymaniu systemów i tworzeniu rozwiązań.

Słowo _kontener (ang. container)_ jest wieloznacznym pojęciem. Zawsze, gdy go używasz, sprawdź, czy Twoi odbiorcy stosują tę samą definicję.

Każdy uruchamiany kontener jest powtarzalny;
standaryzacja wynikająca z uwzględnienia zależności oznacza, że uzyskujesz
to samo zachowanie, gdziekolwiek go uruchomisz.

Kontenery oddzielają aplikacje od infrastruktury hosta. To ułatwia
wdrażanie w różnych środowiskach chmurowych lub systemach operacyjnych.

Każdy <a class='glossary-tooltip' title='A node is a worker machine in Kubernetes.' data-bs-toggle='tooltip' data-bs-placement='top' href='/pl/docs/concepts/architecture/nodes/' target='_blank' aria-label='węzeł'>węzeł</a> w klastrze
Kubernetesa uruchamia kontenery, które tworzą
[Pody](/docs/concepts/workloads/pods/) przypisane do tego węzła. Kontenery należące do jednego
Poda są uruchamiane razem na tym samym węźle w ramach wspólnego harmonogramu.


<!-- body -->

## Obrazy kontenerów {#container-images}
[Obraz kontenera](/docs/concepts/containers/images/) to gotowy do
uruchomienia pakiet oprogramowania zawierający wszystko, co jest potrzebne do
uruchomienia aplikacji: kod i wszelkie wymagane środowiska uruchomieniowe,
biblioteki aplikacji i systemowe, oraz wartości domyślne dla wszelkich niezbędnych ustawień.

Kontenery są przeznaczone do bycia bezstanowymi i
[niezmiennymi](https://glossary.cncf.io/immutable-infrastructure/):
nie powinieneś zmieniać kodu kontenera,
który już działa. Jeśli masz aplikację konteneryzowaną i
chcesz dokonać zmian, właściwym procesem jest
zbudowanie nowego obrazu zawierającego zmiany, a następnie
odtworzenie kontenera w celu uruchomienia go z zaktualizowanego obrazu.

## Środowiska uruchomieniowe kontenerów {#container-runtimes}

<p>Podstawowy komponent umożliwiający efektywne uruchamianie kontenerów w Kubernetesie.
Odpowiada za zarządzanie uruchamianiem i cyklem życia kontenerów w środowisku Kubernetes.</p>
<p>Kubernetes obsługuje różne <em>container runtimes</em>:
<a class='glossary-tooltip' title='A container runtime with an emphasis on simplicity, robustness and portability' data-bs-toggle='tooltip' data-bs-placement='top' href='https://containerd.io/docs/' target='_blank' aria-label='containerd'>containerd</a>, <a class='glossary-tooltip' title='A lightweight container runtime specifically for Kubernetes' data-bs-toggle='tooltip' data-bs-placement='top' href='https://cri-o.io/#what-is-cri-o' target='_blank' aria-label='CRI-O'>CRI-O</a>
oraz każdą implementację zgodną z <a href="https://github.com/kubernetes/community/blob/main/contributors/devel/sig-node/container-runtime-interface.md">Kubernetes CRI (Container Runtime
Interface)</a>.</p>

Zazwyczaj możesz pozwolić swojemu klastrowi na wybranie domyślnego środowiska
uruchomieniowego kontenera dla Poda. Jeśli musisz używać więcej niż jednego
środowiska uruchomieniowego kontenera w swoim klastrze, możesz określić
[RuntimeClass](/docs/concepts/containers/runtime-class/) dla Poda, aby upewnić się, że
Kubernetes uruchamia te kontenery przy użyciu konkretnego środowiska uruchomieniowego kontenera.

Możesz również użyć RuntimeClass, aby uruchamiać różne Pody z tym
samym środowiskiem uruchomieniowym kontenera, ale z różnymi ustawieniami.
