Skip to content

Commit

Permalink
Updates to week 3 slides.
Browse files Browse the repository at this point in the history
  • Loading branch information
applebyter committed Mar 8, 2024
1 parent 231eae3 commit 850e926
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 29 deletions.
87 changes: 59 additions & 28 deletions slides/containers/main.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
\documentclass{slide}
% \usepackage{pgfpages}

% \setbeameroption{show notes on second screen}
%\setbeameroption{show notes on second screen}

\usepackage{tikz}
\usetikzlibrary{backgrounds}
Expand Down Expand Up @@ -89,7 +89,7 @@
/usr/bin/env: 'python3': No such file or directory
\end{code}
\pause
No Python interpretter installed,
No Python interpreter installed,
have to install Python and all it's dependencies.
\end{frame}

Expand Down Expand Up @@ -193,12 +193,18 @@ \section{A History of Containers %
\begin{code}[numbers=none]{}
> mkdir ./jail
> cd jail
> chroot . /bin/ls
chroot: failed to run command '/bin/ls': No such file or directory
> mkdir bin
> cp /bin/ls bin
> chroot . /bin/ls
chroot: failed to run command '/bin/ls': No such file or directory
\end{code}
\end{frame}
\note[itemize]{
\item First chroot -- Doesn't exist from our new root.
\item Second chroot -- Exists but it can't find files on which ls depends.
}

\begin{frame}[fragile]{Exploring \highlight{chroot}}
\vspace{-0.5em}
Expand Down Expand Up @@ -228,6 +234,11 @@ \section{A History of Containers %
ls
\end{code}
\end{frame}
\note[itemize]{
\item ldd -- Lists dependencies
\item cp -- Copy dependencies
\item ls -- Show that these are now within our directory.
}

\begin{frame}[fragile]{Chroot Limitations}
{\LARGE
Expand All @@ -242,6 +253,11 @@ \section{A History of Containers %
\end{itemize}
}
\end{frame}
\note[itemize]{
\item Can now run chroot . /bin/ls -- Everything is available from new root.
\item Second chroot -- Shows that it considers our directory to be the root.
\item Third chroot -- Shows we can't go to a parent directory.
}


\begin{frame}{1992}
Expand All @@ -251,10 +267,10 @@ \section{A History of Containers %
\href{https://www.bell-labs.com/institute/blog/plan-9-bell-labs-cyberspace/}{
\includegraphics[width=\textwidth]{images/plan9}
}
\note{
Image shows members of the Bell Labs Computing Techniques Research Department, which developed Plan 9:
(foreground, from left) Dennis Ritchie, Dave Presotto, Rob Pike,
(background, from left) Tom Killian, Allen Eisdorfer, Tom Duff, Phil Winterbottom, Jim McKie, Howard Trickey and Sean Dorward.
\note[itemize]{
\item Image shows members of the Bell Labs Computing Techniques Research Department, which developed Plan 9:
\item (foreground, from left) Dennis Ritchie, Dave Presotto, Rob Pike,
\item (background, from left) Tom Killian, Allen Eisdorfer, Tom Duff, Phil Winterbottom, Jim McKie, Howard Trickey and Sean Dorward.
}
\end{center}
\end{column}
Expand All @@ -271,8 +287,8 @@ \section{A History of Containers %

\point[Layered filesystem]{
\begin{itemize}
\item Projection on \highlight{read}.
\item Copy on \highlight{write}.
\item Projection on \highlight{read}
\item Copy on \highlight{write}
\end{itemize}
}

Expand Down Expand Up @@ -300,6 +316,13 @@ \section{A History of Containers %
passwords.txt help.md diary.md
\end{code}
\end{frame}
\note[itemize]{
\item Two layers, and a projection giving us the perspective of a single merged layer.
\item Lower layer is \textbf{\textit{read}} only.
}
\note{

}

\begin{frame}[fragile]{Copy on \highlight{write}}
\begin{code}[numbers=none]{}
Expand All @@ -326,6 +349,11 @@ \section{A History of Containers %
\end{tikzpicture}
\end{center}
\end{frame}
\note[itemize]{
\item Two layers:
\item ~~Write to `passwords.txt' in the upper layer.
\item ~~Leave `passwords.txt' in the lower layer unchanged.
}

\point[demo]{Exploring a \highlight{layered filesystem}}

Expand Down Expand Up @@ -401,8 +429,7 @@ \section{A History of Containers %
\end{column}
\end{columns}
\end{frame}

\note{First to utilize namespaces, didn't require linux patches}
\note{First to utilize namespaces, didn't require Linux patches}

\begin{frame}{2013}
\begin{columns}
Expand Down Expand Up @@ -439,13 +466,11 @@ \section{The Language of Containers}
\definition{Container Image}{
A set of files that can be used to \highlight{create a container}.
}

\note{
The mount point for starting containers.

In Docker and rkt the image is just a collection of layers.
i.e. lower, and upper, repeatedly stacked ontop of themselves.
In LTX it is just one layer.
The mount point for starting containers.\\
In Docker and rkt the image is just a collection of layers.\\
i.e. lower, and upper, repeatedly stacked on top of themselves.\\
In LXC it is just one layer.
}

\begin{frame}[fragile]{Container Image}
Expand Down Expand Up @@ -480,7 +505,7 @@ \section{The Language of Containers}
\begin{itemize}
\item Docker
\item rkt
\item LCX
\item LXC
\item runC
\item Containerd
\item CRI-O
Expand All @@ -489,34 +514,39 @@ \section{The Language of Containers}
}

\point[Creating a container image]{
\vspace{3mm}
To create a container image,
we need to \highlight{create a collection of image layers}.

\vspace{3mm}
Fortunately, this is no longer a manual process...
\pause

Instead we use \highlight{build file}, or image blueprints.
\vspace{3mm}
Instead we use a \highlight{build file}, or image blueprints.
}

\definition{Build File}{
A file of the \highlight{instructions} for \highlight{creating a container image}.
File containing the \highlight{instructions} for \highlight{creating a container image}.
}

\begin{frame}[fragile]{Build File}
\begin{code}[language=docker]{Dockerfile}
\begin{code}[language=docker]{Dockerfile}
FROM ubuntu
RUN apt-get update
RUN apt-get install -y cowsay
CMD ["/usr/games/cowsay", "Hello World"]
\end{code}
\pause
\begin{code}[numbers=none]{}
\end{code}

\pause
\begin{code}[numbers=none]{}
> docker build -t cowsay .
\end{code}
\pause
\begin{code}[numbers=none]{}
\end{code}

\pause
\begin{code}[numbers=none]{}
> docker run cowsay
\end{code}
\end{code}
\end{frame}

\begin{frame}[fragile]
Expand Down Expand Up @@ -725,9 +755,10 @@ \section{Virtual Machines}
}

\point[Combined Use Cases]{
\Large
% \Large
Often virtual machines and containers are \highlight{combined}.

\vspace{1em}
e.g. If you deploy containers on Google Kubernetes Engine, the containers run inside of virtual machines on Google's hardware.
}

Expand Down
3 changes: 2 additions & 1 deletion slides/microkernel/main.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
\documentclass{slide}
% \usepackage{pgfpages}

% \setbeameroption{show notes on second screen}
%\setbeameroption{show notes on second screen}

\title{Microkernel Architecture}
\subtitle{Software Architecture}
Expand Down Expand Up @@ -161,6 +161,7 @@ \section{Microkernel Architecture}
\end{frame}
\note{Introduce \emph{adapter} design pattern as approach to manage 3rd party services as plug-ins}


\section{Technical \& Domain Partitioning}

\begin{frame}
Expand Down

0 comments on commit 850e926

Please sign in to comment.