Skip to content

Commit 48f437d

Browse files
committed
Přidat prezentaci kontejnery
1 parent cee0b2b commit 48f437d

2 files changed

Lines changed: 174 additions & 0 deletions

File tree

102 KB
Binary file not shown.
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
\documentclass{beamer}
2+
\usepackage[utf8]{inputenc}
3+
\usepackage[T1]{fontenc}
4+
\usepackage[czech]{babel}
5+
6+
\setbeamerfont{title}{size=\LARGE}
7+
8+
\title{Kontejnery}
9+
\author{Eliška Jégrová}
10+
\date{28. 11. 2025}
11+
12+
% pro obrázky a kreslení
13+
\usepackage{tikz}
14+
\usetikzlibrary{positioning}
15+
\usepackage{graphicx}
16+
\usepackage{datetime}
17+
\usepackage{svg}
18+
\usepackage{listings}
19+
\usepackage{dirtree}
20+
21+
22+
% vlastní příkaz pro tildy
23+
\newcommand{\ts}{\raisebox{-0.25em}{\textasciitilde}}
24+
25+
\begin{document}
26+
27+
\frame{\titlepage}
28+
29+
\begin{frame}{Obsah}
30+
\tableofcontents
31+
\end{frame}
32+
33+
\section{Úvod}
34+
35+
\begin{frame}{It works on my machine!}
36+
\begin{itemize}
37+
\item Aplikace často funguje na vývojářově počítači, ale ne na serveru.
38+
\item Na každém stroji může být jiná verze knihoven, balíčků nebo konfigurace.
39+
\item Kontejner používá \textbf{vlastní souborový systém} oddělený od zbytku systému:
40+
\begin{itemize}
41+
\item obsahuje potřebné programy, knihovny a konfiguraci,
42+
\item všude vypadá stejně, bez ohledu na konkrétní stroj.
43+
\end{itemize}
44+
\item Stejný kontejner tedy můžeme spustit na různých počítačích
45+
a očekávat \textbf{stejné prostředí i chování aplikace}.
46+
\end{itemize}
47+
\end{frame}
48+
49+
\begin{frame}{Co je kontejner a jak se liší od virtuálky}
50+
\begin{itemize}
51+
\item \textbf{Kontejner}
52+
\begin{itemize}
53+
\item běžící proces s vlastním pohledem na souborový systém,
54+
\item má izolované prostředí (procesy, síť),
55+
\item sdílí stejný kernel s hostitelským systémem.
56+
\end{itemize}
57+
58+
\item \textbf{Virtuální stroj}
59+
\begin{itemize}
60+
\item běží v něm celý operační systém včetně vlastního kernelu,
61+
\item emuluje „celý počítač“ (CPU, disk, síťová karta),
62+
\item je těžší na zdroje a startuje pomaleji.
63+
\end{itemize}
64+
65+
\end{itemize}
66+
\end{frame}
67+
68+
\begin{frame}{Sjednocení a izolace}
69+
\begin{itemize}
70+
\item \textbf{Sjednocení prostředí}
71+
\begin{itemize}
72+
\item stejný obraz kontejneru můžeme použít na více strojích,
73+
\item ve vývoji, testu i produkci běží aplikace ve stejném prostředí,
74+
\item odpadá „u mě to funguje, ale na serveru ne“ kvůli rozdílným verzím balíčků.
75+
\end{itemize}
76+
77+
\item \textbf{Izolace služeb}
78+
\begin{itemize}
79+
\item každá služba může běžet ve svém vlastním kontejneru,
80+
\item chyby nebo špatná konfigurace jedné služby méně ovlivní zbytek systému,
81+
\item v každém kontejneru může být jiná verze programu nebo knihovny,
82+
aniž by si navzájem překážely.
83+
\end{itemize}
84+
\end{itemize}
85+
\end{frame}
86+
87+
\begin{frame}{Sdílení vrstev}
88+
\begin{itemize}
89+
\item Vrstvy obrazu jsou \textbf{jen pro čtení} a dají se \textbf{sdílet}:
90+
\begin{itemize}
91+
\item více obrazů může používat stejné spodní vrstvy,
92+
\item více kontejnerů z jednoho obrazu sdílí všechny jeho vrstvy.
93+
\end{itemize}
94+
95+
\item Každý kontejner má navíc jen svou \textbf{zapisovatelnou vrstvu}:
96+
\begin{itemize}
97+
\item tam se ukládají změny (nové soubory, logy, dočasná data),
98+
\item spodní vrstvy zůstávají stejné pro všechny.
99+
\end{itemize}
100+
101+
\item Výhody sdílení vrstev:
102+
\begin{itemize}
103+
\item šetří místo na disku – stejné soubory nejsou uloženy vícekrát,
104+
\item rychlejší stažení nových obrazů – znovu se stahují jen nové vrstvy,
105+
\item rychlejší start kontejnerů – většina dat už je lokálně k dispozici.
106+
\end{itemize}
107+
\end{itemize}
108+
\end{frame}
109+
110+
\begin{frame}{Vrstvy obrazu a jejich sdílení}
111+
\begin{itemize}
112+
\item \textbf{Vrstva} (layer):
113+
\begin{itemize}
114+
\item část souborového systému obrazu,
115+
\item obsahuje změny oproti předchozí vrstvě
116+
(přidané soubory, úpravy, smazání),
117+
\item vrstvy se skládají na sebe „jako palačinky“.
118+
\end{itemize}
119+
120+
\item \textbf{Obraz} kontejneru:
121+
\begin{itemize}
122+
\item je složený z několika vrstev,
123+
\item všechny tyto vrstvy jsou jen pro čtení.
124+
\end{itemize}
125+
126+
\item \textbf{Kontejner}:
127+
\begin{itemize}
128+
\item používá všechny vrstvy obrazu,
129+
\item navíc má svou \textbf{zapisovatelnou vrstvu} pro změny.
130+
\end{itemize}
131+
132+
\item \textbf{Sdílení vrstev}:
133+
\begin{itemize}
134+
\item více obrazů může sdílet stejné spodní vrstvy,
135+
\item více kontejnerů ze stejného obrazu sdílí všechny jeho vrstvy,
136+
\item šetří to místo na disku a zrychluje stahování i start kontejnerů.
137+
\end{itemize}
138+
\end{itemize}
139+
\end{frame}
140+
141+
142+
\begin{frame}{OverlayFS – vrstvy obrazu a kontejneru}
143+
\centering
144+
\begin{tikzpicture}[
145+
layer/.style={draw, thick, minimum width=6cm, minimum height=0.8cm, align=center},
146+
>=stealth
147+
]
148+
149+
% image layers (read-only)
150+
\node[layer, fill=gray!15] (l1) {Vrstva obrazu 1 (read-only)};
151+
\node[layer, fill=gray!20, above=0.2cm of l1] (l2) {Vrstva obrazu 2 (read-only)};
152+
\node[layer, fill=gray!25, above=0.2cm of l2] (l3) {Vrstva obrazu 3 (read-only)};
153+
154+
% container writable layer
155+
\node[layer, fill=blue!15, above=0.4cm of l3] (upper) {Zapisovatelná vrstva kontejneru};
156+
157+
% merged view
158+
\node[layer, fill=green!15, right=3.5cm of l3] (merged) {Výsledný pohled v kontejneru};
159+
160+
% arrows
161+
\draw[->, thick] (l1.east) -- (merged.south west);
162+
\draw[->, thick] (l2.east) -- (merged.west);
163+
\draw[->, thick] (l3.east) -- (merged.north west);
164+
\draw[->, thick] (upper.east) -- (merged.north);
165+
166+
% labels
167+
\node[above left=0.1cm and -0.2cm of upper] {\small overlayfs};
168+
\end{tikzpicture}
169+
170+
\vspace{1em}
171+
{\small Spodní vrstvy pocházejí z obrazu, nahoře je zapisovatelná vrstva konkrétního kontejneru.}
172+
\end{frame}
173+
174+
\end{document}

0 commit comments

Comments
 (0)