Docker Containerization
In Docker Containerization training course, participants will learn the skills to radically simplify application deployment, IT workflow, version control, production support and much more with the power of Docker containerization.Lightweight and fast, the open-source, Docker engine provides an environment to run your code as well as an efficient workflow to get code from developer machines to the test environment, and rapidly into production. Docker streamlines deployment of your applications into isolated containers, allowing versatile new solutions across the entire IT value chain.
Prerequisites:
- Basic Linux skills
- Networking Knowledge
- Something about Virtualization
Course Content:
Introduction
- What can you use Docker for?
- A logical segregation of duties
- The relationship between Docker and SOA
- How Docker fits into the development lifecycle
- How Docker ensures consistency from development through UAT and staging, and on to production
The components of Docker
- Underlying technology
- Docker client and server
- Filesystem images
- Registries
- Containers
- Networking
Getting set up to start using Docker
- Getting set up on Windows
- Getting set up on the Mac
- Trying out our first container
- Getting set up for production on Linux
- Tweaking your production environment for best performance
- User interfaces for Docker management
Container management
- Container naming
- Starting and stopping containers
- Attaching to a container
- Seeing what is happening in a container
- Running a process inside a container
- Daemonizing a container
- Automatic container restarts
- Deleting containers when we are finished with them
Docker images and repositories
- Docker images explained
- How Docker images work
- Getting a list of images
- Searching for images on a repository
- Pulling an image
- Creating our own image
- Specify an image in a Dockerfile
- Building Dockerfile images
- Using the build cache for templating
- Viewing the image we have created
- Launching a container using our new image
Registries
- What is the Docker hub?
- Pushing images to the Docker hub
- Running your own internal Docker registry
- Testing the internal registry
A simple use case
- A single container static website
- Setting up a container running Nginx
- Launching our static site
- Updating our static site from git or bitbucket
Continuous integration with Docker
- How Docker enables and supports CI
- Getting set up for Jenkins and Docker
- A basic Jenkins job
- Multi configuration jobs
- Drone
- Shippable
A more complex use case: Multi container application stacks
- A container for our NodeJS application
- A base image for our Redis containers
- Creating our Redis back-end cluster
- Capturing logs
- Managing containers
Docker orchestration and service discovery
- Getting set up with Fig
- Configuring the fig.yml file
- How to use Fig
- Console
- Running a Console cluster
Integrating with configuration management
- Managing your Docker hosts with Chef / Puppet / Ansible
- Building containers using configuration management tools
- Managing running containers with configuration management
Docker and DevOps
- Enabling collaboration with Docker
- Using Docker to streamline workflow
- Using Docker's version control capabilities to enable experimentation and learning
- Docker's role in the overall IT value chain
- Creating value and quality with Docker
- Enabling smoother flow of work
Course conclusion, open discussion and Q&A
- Going back to work with a plan
- What was not covered in this class
- Q&A with the instructor