\documentclass{beamer}
\usepackage{graphicx} % umożliwia wstawiać zdjęcia
% Ustawienia dla polskich napisów
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[polish]{babel}
\usepackage{polski}
%pozwala na zrobienie słowa kolorowego
\documentclass{article}
\usepackage{xcolor}
%dla animacji
\usepackage{animate}

\usetheme{Antibes} % Temat
\usecolortheme{default} % schemat kolorów

% Dane prezentacji
\title{Linux Containers} 
\subtitle{czyli Lxc}
\author{Denys Paliichuk i Vlad Cherniuk}
\institute{CKZiU Technik Informatyk 1i}
\date{\today}

\begin{document}

% 1 strona
\begin{frame} %początek 
    \titlepage  % to dane prezentacji na 1 stronie
\end{frame} %koniec
%2 strona
\usebackgroundtemplate{
    \centering
    \includegraphics
[width=\paperwidth,
height=\paperheight]{denisvlady.png}
}

\begin{frame}{Plan następnych stron}
    \transwipe  % Dodanie efektu przejścia ( przesunięcie)  
\tableofcontents % wstawiasz w następne slajdy section i na tej stronie będzie nazwy tych slajdów i będzie na nich przeżucać
  \end{frame}


% 3 strona
\section{Definicja}
\begin{frame}{Co to Linux Containers}
    \transfade % Efekt zanikania
    \textcolor{white}  { Linux Containers (LXC) to metoda wirtualizacji na poziomie systemu operacyjnego, która umożliwia uruchamianie izolowanych instancji systemu operacyjnego na jednym hoście fizycznym.}
 
\begin{figure} % wstawia zdjęcie
\centering
\includegraphics[width=1\textwidth]{den.png}
\end{figure}

\end{frame}



% 4 strona
\section{Linux Containers ważne pojęcia i zasady, które warto omówić to:}
\begin{frame}{Linux Containers ważne pojęcia i zasady, które warto omówić to:}
\transblindshorizontal % Efekt przesuwania pasków
\begin{itemize}
    \item \textbf{\textcolor{blue}{Konteneryzacja}} \textcolor{white}{: Proces tworzenia i uruchamiania kontenerów.}
    \item \textbf{\textcolor{blue}{Docker}} \textcolor{white}{: Popularne narzędzie do zarządzania kontenerami.}
    \item \textbf{\textcolor{blue}{Namespace}} \textcolor{white}{: Mechanizm izolacji zasobów, który umożliwia kontenerom posiadanie własnej przestrzeni nazw dla procesów, sieci, użytkowników itp.}
    \item \textbf{\textcolor{blue}{Cgroups}} \textcolor{white}{: Mechanizm kontroli zasobów, który pozwala na przydzielanie i monitorowanie zasobów systemowych dla kontenerów.}
    \item \textbf{\textcolor{blue}{Obrazy kontenerów}} \textcolor{white}{: Wirtualne obrazy, które zawierają wszystkie zależności i konfiguracje niezbędne do uruchomienia aplikacji w kontenerze.}
\end{itemize}

\end{frame}

% 5 strona
\section{Instalacja Linux Containers}
\begin{frame}{Instalacja Linux Containers}
\transwipe % Efekt wymazujący
\begin{itemize}
    \item \textbf{\textcolor{blue}{Zaktualizuj listę pakietów:}}\textcolor{white}{ Uruchom polecenie, aby zaktualizować listę pakietów dostępnych do zainstalowania: }\textbf{\textcolor{blue}{sudo apt update}} 
    \item \textbf{\textcolor{blue}{Zainstaluj LXC:}}\textcolor{white}{ Po zaktualizowaniu listy pakietów, zainstaluj LXC za pomocą polecenia: }\textbf{\textcolor{blue}{sudo apt install lxc}} 
    \item \textbf{\textcolor{blue}{Uruchom usługę LXC:}}\textcolor{white}{ Usługa LXC powinna automatycznie uruchomić się po instalacji, ale możesz to sprawdzić i upewnić się, że działa poprawnie, wykonując: }\textbf{\textcolor{blue}{sudo systemctl status lxc}}
    \item \textbf{\textcolor{blue}{Zarządzanie LXC:}}\textcolor{white}{ Teraz możesz używać różnych poleceń LXC do zarządzania kontenerami, takimi jak tworzenie, uruchamianie, zatrzymywanie, usuwanie itp. Na przykład, aby wyświetlić listę kontenerów, które masz zainstalowane, możesz użyć: }\textbf{\textcolor{blue}{sudo lxc-ls}}
\end{itemize}
\end{frame}
% 6 strona
\section{Tworzenie kontenera Linux Containers}
\begin{frame}{Tworzenie kontenera Linux Containers}
    \transblindshorizontal % Efekt przesuwania pasków
\begin{itemize}
    \item \textbf{\textcolor{blue}{Utworzenie kontenera LXC:}} \textcolor{white}{Utwórz nowy kontener LXC za pomocą polecenia lxc-create. Na przykład:} \textbf{\textcolor{blue}{lxc-create -n openwrt-container -t download -- -d openwrt -r 18.06 -a amd64}}\textcolor{white}{ To stworzy kontener o nazwie "openwrt-container" z wybraną wersją OpenWRT.}
    \item \textbf{\textcolor{blue}{Uruchomienie kontenera:}} \textcolor{white}{Uruchom swój kontener za pomocą polecenia lxc-start:} \textbf{\textcolor{blue}{lxc-start -n openwrt-container}}
    \item \textbf{\textcolor{blue}{Zalogowanie się do kontenera:}}\textcolor{white}{ Zaloguj się do kontenera, aby móc przeprowadzić dalszą konfigurację:} \textbf{\textcolor{blue}{lxc-attach -n openwrt-container}}

\end{itemize}
\end{frame}
%7
\section{Instalacja OpenWRT Linux Containers}
\begin{frame}{Instalacja OpenWRT Linux Containers}
\transsplitverticalout
\begin{itemize}
    \item \textbf{\textcolor{blue}{Instalacja OpenWRT:}}\textcolor{white}{ W kontenerze zainstaluj OpenWRT tak, jakbyś robił to na zwykłym systemie. Jeśli dostępne są narzędzia do instalacji pakietów, możesz je użyć.  Na przykład:}\textbf{\textcolor{blue}{opkg update , opkg install luci}} \textcolor{white}{Także można zainstalować na oficialnej stronie. W wielu dystrybucjach Linux istnieją pakiety narzędzi OpenWRT, które można zainstalować za pomocą menedżera pakietów. Takich jak Ubuntu czy Debian, możesz użyć polecenia apt do instalacji narzędzi OpenWRT.}
    \item \textbf{\textcolor{blue}{Konfiguracja routera:}}\textcolor{white}{ Możesz to zrobić za pomocą wiersza poleceń lub interfejsu graficznego. Np: aby skonfigurować interfejs sieciowy, możesz użyć poleceń uci:}
    \item \textbf{\textcolor{blue}{uci set network.lan.ipaddr='192.168.1.1'
    uci commit network
    /etc/init.d/network restart
    }}
\end{itemize}
\end{frame} 

% 8 strona
\section{Przykłady użycia Linux Containers}
\begin{frame}{Przykłady użycia Linux Containers}
\transboxin % Efekt rozwijania
\begin{itemize}
     

 \item   \textbf{\textcolor{blue}{Izolacja aplikacji}}\textcolor{white}{
     umożliwiają izolację aplikacji, co pozwala na uruchamianie wielu aplikacji na jednym systemie operacyjnym bez instalowania ich na oddzielnych maszynach wirtualnych.}  
 \item    \textbf{\textcolor{blue}{Testowanie oprogramowania}}\textcolor{white}{
    są idealne do testowania oprogramowania, ponieważ umożliwiają izolację środowiska testowego od reszty systemu, co pozwala na szybkie i niezawodne testowanie.}
 \item   \textbf{\textcolor{blue}{Wdrażanie aplikacji}}\textcolor{white}{
    Dzięki Linux Containers wdrażanie aplikacji staje się prostsze i bardziej niezawodne, ponieważ można je uruchomić w izolowanym środowisku, które jest niezależne od reszty systemu operacyjnego.}
    
 \item   \textbf{\textcolor{blue}{Skalowanie aplikacji}}\textcolor{white}{
    umożliwiają łatwe i elastyczne skalowanie aplikacji, ponieważ można je uruchamiać i zatrzymywać w zależności od obciążenia systemu.} 
\end{itemize}
\end{frame}


%9 strona
\section{Narzędzia do zarządzania Linux Containers}
\begin{frame}{Narzędzia do zarządzania Linux Containers}
    \transwipe % Efekt wymazujący
    \begin{block}{Docker} %robi tabele
        Docker jest jednym z najpopularniejszych narzędzi do zarządzania Linux Containers. Pozwala na tworzenie, uruchamianie i zarządzanie kontenerami w izolowanym środowisku.
    \end{block}
\begin{block}{Kubernetes}
    Kubernetes to platforma do zarządzania kontenerami, która umożliwia automatyzację wdrażania, skalowania i zarządzania aplikacjami w kontenerach.
\end{block}


\begin{figure} % wstawia zdjęcie
    \centering
    \includegraphics[width=0.5\textwidth]{vlad.png}
    \end{figure}


\end{frame}
\end{document}
