Essential Container Concepts
November 14th, 2018
Community Architect in Community
This course provides a basic introduction to the concept of containers. It seeks to give the student a working knowledge of what containers are, how they are created and how they are used in the real world.
Access Pine Head Press: https://www.lucidchart.com/documents/embeddedchart/681cbd68-2dfb-4b57-b022-6378490d31d3#
Introduction to the Course
About the Course Author
Before we get started on the course, let's learn a little about who is teaching it!
About the Course
In this video we will give you a sneak peak at the jouney ahead. Understanding why we are taking the time to explore the history and essential concepts behind containers.
A Brief History of Containers
Let's take a trip back in time to help us understand the development of container technology. By understanding the history of containers we can better understand how to use this technology. Link to : An Evening with Berferd In Which a Cracker is Lured, Endured, and Studied http://www.cheswick.com/ches/papers/berferd.pdf
QUIZ: Container History
This video explains what the 'chroot' concept is as well as real world reasons for its use. We then walk through a basic chroot set up and "jail" a user, log into it and demonstrate how the process cannot access files and directories outside of the 'root' assigned to it.
In this lesson we will review Linux Namespaces. Understanding what namespaces are will further your overall understanding of how containers do what they do behind the scenes.
In this video, we will continue our journey with Linux namespaces. Exploring the network namespace and the abilities it gives us to add isolation to our environments.
In this video we will explore what coups are. We will discuss how they help create a containerized environment. By understanding what control groups are how they limit our access to resources on our system we can begin to understand the essential concepts behind containers.
QUIZ: Container Basics
LXC / LXD
In this video, we will take a moment to understand the differences between hardware and operating system virtualization. By understanding these concepts, we can begin to understand the functionality that creating isolation brings to our environments.
Understanding Container Workflow
In this video, we will discuss container workflow. Going over the concepts, we have previously learned in this course and how they all build on one another to create containers. Addressing the question of what is actually occurring when we create a container?
Installing and Basic usage of LXC/LXD
In this lesson we will walk though installing lxd and do a quick walk through of creating a container and practicing LXC commands.
Choose your own adventure!
You now know how to install and create a container in LXD and in this video we will answer the next logical question. What's next?
It's time to answer the important question: What is Docker? Why do we need Docker if we already have LXC? Then we will wrap thing up by discussing what functionalities Docker provides.
In this lesson, we will delve further into Docker. We will start by understanding what is installed on our system when we install Docker. Then we will delve into the command line and install Docker.
Understanding how Docker images are created is a key concept to understand when working with Docker. In this lesson, we will work with creating Docker images using the 'Dockerfile' as well as demonstrating how to commit a container as an image to use for future containers. Once you complete this lesson, you will have a good understanding on how Docker images are created.
Docker Choose Your Own Adventure.
Now that you are familure with what Docker is and how to create your own enviroment. What should you do next? In this video we will discuss what your next steps should be if you chose to continue your journey with Docker. Docker Quick Start: https://linuxacademy.com/cp/modules/view/id/86 Docker Deep Dive: https://linuxacademy.com/cp/modules/view/id/33 Docker Certified Associate Prep Course: https://linuxacademy.com/cp/modules/view/id/150
Why Docker Swarm?
In this lesson, we will discuss the functionalities Docker Swarm brings to our container environment. By understanding what Docker Swarm has to offer we can better understand why we would add Docker Swarm to our container environments.
Docker Swarm Overview
In this lesson, we will expand on the functionalities we discussed in the previous video. We will go behind the command line and see some of the functionality that Docker Swarm brings to our Docker environment.
In this lesson, we will take some time to tackle the difficult question of Docker Swarm or Kubernetes? Then spend some time discussing what Kubernetes and delving into its components so we can better understand its function.
Choose your own adventure
In this video, we will interview Will Boyd, a content author here at Linux Academy, and discusses his course Kubernetes the hard way. Helping you decide what your next steps should be if you pursue your journey with Kubenernetes. Kubernetes The Hard Way: https://linuxacademy.com/cp/modules/view/id/221
Apache Mesos Architecture
In this lesson, we will discuss what Apache Mesos is and is not. We will spend time understanding the functionality it brings to our data centers and why is often discussed in regards to container orchestration.
Time for our journey together to come to an end. We will spend a bit of time going over your journey and the adventures we have had together, preparing you to continue on to your next adventure.
QUIZ: Container Essentials