- Module 0-A: Install Docker Locally
- Module 0-B: Access your Docker Lab Development Box
- Module 1: Running Docker Containers
- Module 2: Creating Custom Images from Dockerfiles
- Module 3: Using Docker Compose
Source of Introduction: comes from an article published in InfoWold
Docker containers are self-contained execution environments—with their own, isolated CPU, memory, block I/O, and network resources—that share the kernel of the host operating system. The result is something that feels like a virtual machine, but sheds all the weight and startup overhead of a guest operating system.
To understand containers, we have to start with Linux cgroups and namespaces, the Linux kernel features that create the walls between containers and other processes running on the host. Linux namespaces, originally developed by IBM, wrap a set of system resources and present them to a process to make it look like they are dedicated to that process.
In short:
- Namespaces : Limits what the running process can see. I.E. processes can have their own view of the system’s resources.
- cgroups : Metering and limiting mechanism, they control how much of a system resource (CPU, memory) processes can use.
In comparison to virtual machines, containers feel and act like independent operating system environments, but are actually layered on top of an existing OS similar to how a VM would be on top of a hypervisor. A visual below is provided for contextual aid in comparison with traditional VM architecture vs a docker containerized architecture.
In this tutorial, we are going to gain hands on experience and learn the basics of docker containers, images, commands, and automate deployment of a simple self dockerized sandbox environment to develop scripts to issue NITRO commands to your NetScaler ADCs.
- Docker
- You must install Docker in your local environment to do this tutorial. Follow the instructions in the link provided to install Docker on your operating system.
- If you are following along in a ILT course, skip ahead to Module 0-B: Access your Docker Lab Development Box