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:

  1. Description
  2. Introduction and why we chose linux for the course.
  3. Description on what docker is and why we use it
  4. Birds eye view of various components in docker and it’s interaction with OS
  5. Differerence between user-space and kernel-space
  6. Difference between containers and virtual machines.
  7. Dockerfile, Docker images, Base image, docker pull
  8. docker build, Running docker without root privileges
  9. docker history command, From construct, ENV construct
  10. Label construct, RUN construct, WORKDIR construct
  11. ADD construct, COPY construct, EXPOSE construct, ENTRYPOINT construct, CMD construct, docker run command
  12. docker repositories,docker hub, docker push,How is traffic routed to docker container?
  13. docker ps command, sending signals to a process( docker kill, dockerstop)
  14. How docker containers handle signals.
  15. Introduction to how docker works under the hood
  16. Introduction to cgroups
  17. Cgroups cpu- hands on 1
  18. Cgroups cpu- hands on 2
  19. Cgroups cpu- hands on 3(cpu shares)
  20. Cgroups cpu- hands on 4( cpuset + cpu share)
  21. How docker restricts cpu using cgroups.
  22. Introduction to cgoups memory subsystem
  23. Cgroups memory subsystem hands-on
  24. Introduction to namespaces
  25. Basic networking and tcpdump
  26. Ip subnetting and arp
  27. ip,veth pairs, linux software bridge
  28. Hands-on networking namespace.
  29. How docker uses networking namespace
  30. Pid namespaces hands-on
  31. Mount namespaces hands-on
  32. User namespaces hands-on
  33. Introduction to linux capabilities + hands on
  34. Capabilities in docker
  35. Running docker containers as root
  36. Docker compose introduction
  37. Bringing up an application
  38. Embedded dns, docker networks
  39. Introduction to overlayfs
  40. How docker uses overlayfs
  41. How to take advantage of caching in docker builds
  42. Building minimal containers in docker
  43. Container orchestrators introduction
  44. Overview of ECS orchestrator
  45. Hands on(part 1)
  46. Hands on(part 2)
  47. ECS under the hood.
  48. Introduction to docker daemon
  49. Communicating to docker daemon over tcp/unix socket.

Who this course is for:

  • 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

Requirements

  • Intermediate knowledge of linux
  • Basic understanding of programming
  • Basic understanding of aws will help in the section about ECS
Enroll Now

Leave a Reply