{"id":63055,"date":"2026-04-19T10:53:39","date_gmt":"2026-04-19T10:53:39","guid":{"rendered":"https:\/\/ctraining.co.il\/?post_type=course&#038;p=63055"},"modified":"2026-04-19T10:58:58","modified_gmt":"2026-04-19T10:58:58","slug":"docker-from-basics-to-production-course","status":"publish","type":"course","link":"https:\/\/ctraining.co.il\/en\/course\/docker-from-basics-to-production-course\/","title":{"rendered":"Docker From Basics to Production Course"},"content":{"rendered":"<h2 dir=\"ltr\">About This Course<\/h2>\n<p dir=\"ltr\">This course takes you from Docker basics all the way to running applications on Kubernetes in production. You&#8217;ll work with a real microservices app, learning how to containerize it, manage multi-container setups, and deploy it to a Kubernetes cluster you build yourself on AWS. You&#8217;ll cover Docker fundamentals, networking, security, CI\/CD, and Kubernetes \u2014 ending with a fully deployed, publicly accessible application.<\/p>\n<h2 dir=\"ltr\">Audience Profile<\/h2>\n<ul dir=\"ltr\">\n<li>Developers<\/li>\n<li>Architects<\/li>\n<li>DevOps<\/li>\n<li>SRE<\/li>\n<li>IT Operators<\/li>\n<\/ul>\n<h2 dir=\"ltr\">The App<\/h2>\n<p dir=\"ltr\">In this course, we&#8217;ll work with a real AI-powered application consisting of two microservices:<\/p>\n<ul dir=\"ltr\">\n<li>YoloAPI &#8211; A Python FastAPI backend that receives images and uses the YOLOv8 model to detect objects (like cars, people, dogs, etc.)<\/li>\n<li>YoloUI &#8211; A simple web frontend where users can upload images and see the detected objects<\/li>\n<\/ul>\n<p dir=\"ltr\">You&#8217;ll start by running this app manually on a single EC2, then package it into Docker containers, and finally deploy it to a Kubernetes cluster that <strong>you&#8217;ll build yourself<\/strong> on AWS EC2 instances using Kubeadm. .<\/p>\n<h2 dir=\"ltr\">Course Outline<\/h2>\n<p dir=\"ltr\"><strong>Docker Fundamentals<\/strong><\/p>\n<p dir=\"ltr\">A short introduction to cloud computing in AWS. Then we&#8217;ll run the YoloAPI app on a single instance, first as a simple regular Python process (venv, install dependencies, etc), then as a Docker container. You&#8217;ll learn what containers are and why they&#8217;re useful.<\/p>\n<p dir=\"ltr\">Intro to cloud computing in AWS<\/p>\n<ul dir=\"ltr\">\n<li>Amazon Web Services introduction<\/li>\n<li>Regions and Availability zones<\/li>\n<li>AWS shared responsibility model<\/li>\n<li>Different service models &#8211; IaaS, PaaS, SaaS<\/li>\n<\/ul>\n<p dir=\"ltr\">Introduction to Docker and Containerization<\/p>\n<ul dir=\"ltr\">\n<li>Linux-wise &#8211; what are actually containers?<\/li>\n<li>Docker architecture and components<\/li>\n<li>Overview of Docker&#8217;s ecosystem and community (DockerHub)<\/li>\n<\/ul>\n<p dir=\"ltr\">Basic Docker Commands and Workflow<\/p>\n<ul dir=\"ltr\">\n<li>Docker commands syntax and structure<\/li>\n<li>Running your first container<\/li>\n<li>Docker CLI commands for managing images and containers<\/li>\n<li>Inspecting containers and viewing logs<\/li>\n<\/ul>\n<p dir=\"ltr\">Docker Images and Containers<\/p>\n<ul dir=\"ltr\">\n<li>Docker images &#8211; build, layers, caching<\/li>\n<li>Dockerfile best practices (multistage builds)<\/li>\n<\/ul>\n<p dir=\"ltr\">Managing Data in Docker with Volumes<\/p>\n<ul dir=\"ltr\">\n<li>Persistent data and stateful applications<\/li>\n<li>Volumes, bind mounts, and tmpfs mounts<\/li>\n<li>Volume management commands and strategies<\/li>\n<\/ul>\n<p dir=\"ltr\">Docker in Development with Visual Studio Code<\/p>\n<ul dir=\"ltr\">\n<li>Visual Studio Code Docker setup<\/li>\n<li>Remote &#8211; Containers extension<\/li>\n<li>Debugging and testing in containers<\/li>\n<li>Hands-on: Developing inside a container<\/li>\n<\/ul>\n<p dir=\"ltr\"><strong>Advanced Docker Usage and New Features<\/strong><\/p>\n<p dir=\"ltr\">We\u2019ll provision a full multi-containers app (YoloAPI and YoloUI) as well designed Docker compose projects in a single instance (custom networks and volumes, security considerations). Finally, we\u2019ll build a simple CI\/CD pipeline that deployed a new version of the container on every push.<\/p>\n<p dir=\"ltr\">Introduction to Docker Networking<\/p>\n<ul dir=\"ltr\">\n<li>Container networking basics<\/li>\n<li>Network types in Docker (none, bridge, host, overlay)<\/li>\n<li>Port mapping and container linking<\/li>\n<li>Network troubleshooting and best practices<\/li>\n<\/ul>\n<p dir=\"ltr\">Docker Compose<\/p>\n<ul dir=\"ltr\">\n<li>docker-compose.yml configurations<\/li>\n<li>Multi-container applications with Docker Compose<\/li>\n<li>Hands-on: Multi-container setup with networking<\/li>\n<li>Reproducible development environments with Docker Compose<\/li>\n<\/ul>\n<p dir=\"ltr\">Security in Docker<\/p>\n<ul dir=\"ltr\">\n<li>Docker in rootless mode<\/li>\n<li>Vulnerability detection with Docker Scout<\/li>\n<li>Docker security best practices<\/li>\n<\/ul>\n<p dir=\"ltr\">CI\/CD with Docker: Integration into DevOps Workflows<\/p>\n<ul dir=\"ltr\">\n<li>CI\/CD pipelines with GitHub Actions<\/li>\n<li>Managing and versioning container images<\/li>\n<\/ul>\n<p dir=\"ltr\"><strong>Introducing K8S<\/strong><\/p>\n<p dir=\"ltr\">We\u2019ll introduce k8s foundations, architecture, control-plane and worker components. We\u2019ll manually provision a cluster using kubeadm on a few instances (multiple control-planes, multiple workers). Finally, we\u2019ll deploy our Yolo app in the cluster.<\/p>\n<ul dir=\"ltr\">\n<li>Kubernetes Foundations<\/li>\n<li>K8S Architecture and design &#8211; control-plane and worker nodes components<\/li>\n<li>Labels, namespaces<\/li>\n<li>K8S Objects &#8211; Pod, replicaset, deployment, service, configmap, secrets<\/li>\n<\/ul>\n<p dir=\"ltr\"><strong>System reliability and data durability<\/strong><\/p>\n<p dir=\"ltr\">We\u2019ll introduce advanced features in k8s cluster &#8211; data persistence and stateful applications, cluster monitoring. We\u2019ll persist the YoloAPI uploaded images data (using statefulsets), and deploy a monitoring stack to collect logs in cluster nodes (using daemonselts)<\/p>\n<ul dir=\"ltr\">\n<li>K8S Volumes<\/li>\n<li>K8S StateLess and Stateful applications<\/li>\n<li>Daemonsets<\/li>\n<li>Microservices Design and best practices in the world of K8S &#8211; HA, autoscaling, rolling update, resource quota<\/li>\n<\/ul>\n<p dir=\"ltr\"><strong>Networking and advance Kubernetes<\/strong><\/p>\n<p dir=\"ltr\">We\u2019ll expose our app to be publicly available using LB and real registered domain. In addition we\u2019ll talk and practice some advanced topics in cluster networking.<\/p>\n<ul dir=\"ltr\">\n<li>Kubernetes Networking<\/li>\n<li>Pod to Pod<\/li>\n<li>Exposing Services &#8211; ClusterIP, NodePort, LoadBalancer, External<\/li>\n<li>IP Per Pod<\/li>\n<li>Inter Pod Communication<\/li>\n<li>Intra Pod Communication<\/li>\n<\/ul>\n<p dir=\"ltr\">Ingress Controllers<\/p>\n<ul dir=\"ltr\">\n<li>Ingress overview<\/li>\n<li>L7 cloud LB<\/li>\n<\/ul>\n<h2 dir=\"ltr\">Prerequisites<\/h2>\n<p dir=\"ltr\">This course is designed for individuals with a foundational knowledge of command-line interfaces and a good understanding of software development and deployment concepts.<br \/>\nWe also recommend our Microservices Seminar as all aspects of the course are around the terminology and practices in MSA.<br \/>\nFamiliarity with the basics of networking and cloud computing will enhance the learning experience.<\/p>\n<p dir=\"ltr\">\n","protected":false},"excerpt":{"rendered":"<p>About This Course This course takes you from Docker basics all the way to running applications on Kubernetes in production. You&#8217;ll work with a real microservices app, learning how to containerize it, manage multi-container setups, and deploy it to a Kubernetes cluster you build yourself on AWS. You&#8217;ll cover Docker fundamentals, networking, security, CI\/CD, and [&hellip;]<\/p>\n","protected":false},"featured_media":43534,"template":"","meta":{"_acf_changed":false,"inline_featured_image":false},"tags":[5700,5699,5698,5697],"coursetype":[1431],"product":[],"audience":[],"class_list":["post-63055","course","type-course","status-publish","has-post-thumbnail","hentry","tag-5700","tag-ctr-816","tag-docker","tag-docker-from-basics-to-production","coursetype-development-courses"],"acf":[],"_links":{"self":[{"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/course\/63055","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/course"}],"about":[{"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/types\/course"}],"version-history":[{"count":0,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/course\/63055\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/media\/43534"}],"wp:attachment":[{"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/media?parent=63055"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/tags?post=63055"},{"taxonomy":"coursetype","embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/coursetype?post=63055"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/product?post=63055"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/audience?post=63055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}