Docker Masterclass: Hands-on DevOps™ for Developers
Learn Docker with hands-on coding exercises. Take your DevOps Skill to the next level. Complete Docker for DevOps Course
Description
Docker and other containerization tools have taken the devops world by storm. Knowing at least the basics of docker has become mandatory for any role of software development you are in. However, for devops engineers/ site reliability engineers, a more detailed understanding of docker and other containerization technologies are desired. It does not entirely cut it to know just how to run basic commands on docker and make it work.
This course focuses on how docker works under the hood. It will guide you through the internal workings of the docker daemon and it’s interaction with the linux operating system step by step and explain how docker uses various linux kernel functionalities to make and run containers.
Besides a look at how docker operates under the hood, we will also take a look at basic docker commands, structure of build files etc-. We will also take a look at how to use docker compose to stand up a basic development environment for micro services. We will also look at building minimal container images to save on network throughput, disk size and also faster deployments. We will also be looking at what container orchestrators are and will have a hands-on session about the amazon ECS container orchestrator.
A bit of networking and linux knowledge is assumed for this course. Linux knowledge will help you all throughout the course and networking knowledge will come in handy when we cover the concepts pertaining to networking namespaces.
Course Details:
Description
Introduction and why we chose linux for the course.
Description on what docker is and why we use it
Birds eye view of various components in docker and it's interaction with OS
Differerence between user-space and kernel-space
Difference between containers and virtual machines.
Dockerfile, Docker images, Base image, docker pull
docker build, Running docker without root privileges
docker history command, From construct, ENV construct
Label construct, RUN construct, WORKDIR construct
ADD construct, COPY construct, EXPOSE construct, ENTRYPOINT construct, CMD construct, docker run command
docker repositories,docker hub, docker push,How is traffic routed to docker container?
docker ps command, sending signals to a process( docker kill, dockerstop)
How docker containers handle signals.
Introduction to how docker works under the hood
Introduction to cgroups
Cgroups cpu- hands on 1
Cgroups cpu- hands on 2
Cgroups cpu- hands on 3(cpu shares)
Cgroups cpu- hands on 4( cpuset + cpu share)
How docker restricts cpu using cgroups.
Introduction to cgoups memory subsystem
Cgroups memory subsystem hands-on
Introduction to namespaces
Basic networking and tcpdump
Ip subnetting and arp
ip,veth pairs, linux software bridge
Hands-on networking namespace.
How docker uses networking namespace
Pid namespaces hands-on
Mount namespaces hands-on
User namespaces hands-on
Introduction to linux capabilities + hands on
Capabilities in docker
Running docker containers as root
Docker compose introduction
Bringing up an application
Embedded dns, docker networks
Introduction to overlayfs
How docker uses overlayfs
How to take advantage of caching in docker builds
Building minimal containers in docker
Container orchestrators introduction
Overview of ECS orchestrator
Hands on(part 1)
Hands on(part 2)
ECS under the hood.
Introduction to docker daemon
Communicating to docker daemon over tcp/unix socket.
What You Will Learn!
- Basic introduction of what docker is
- Linus features that docker uses to pull off what it does( Namespaces, cgroups)
- Linux capabilities
- Docker filesystem
- Basics of AWS ECS container orchestrator
- Docker Compose
Who Should Attend!
- Devops Engineers looking to get deep into what docker is and actually understanding how it works
- Anyone curious about the whole of docker ecosystem and how it works
- System Administrators
- Cloud Infrastructure Engineers
- Developers looking to increase their productivity
- Developers looking to understand how Docker works
- Beginning and advanced Docker users looking to improve their skills
- Network admins looking to break into the world of Docker development