{"id":5299,"date":"2021-09-05T11:28:31","date_gmt":"2021-09-05T11:28:31","guid":{"rendered":"https:\/\/www.danielparente.net\/en\/2021\/09\/05\/docker-and-kubernetesfull-course-2021\/"},"modified":"2021-09-05T11:28:31","modified_gmt":"2021-09-05T11:28:31","slug":"docker-and-kubernetesfull-course-2021","status":"publish","type":"post","link":"https:\/\/www.danielparente.net\/en\/2021\/09\/05\/docker-and-kubernetesfull-course-2021\/","title":{"rendered":"Docker and KubernetesFull Course [2021]"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe class=\"youtube-player\" width=\"1290\" height=\"726\" src=\"https:\/\/www.youtube.com\/embed\/bhBSlnQcq2k?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=en-US&#038;autohide=2&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span><\/p>\n\n\n\n<h2 class=\"engagement-panel-section-list-header-title typography-body-2b wp-block-heading\" id=\"engagement-panel-section-list-header\">Description<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In this complete Docker and Kubernetes tutorial Nana from Techworld With Nana and Amigoscode have collaborated to teach you the fundamentals of docker and Kubernetes. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There will be 2 parts. Docker tutorial and Kubernetes tutorial.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Starting with docker for beginners to all you need to know about creating docker images, running docker containers, docker volumes, container registry and docker architecture. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then Kubernetes turorial for beginners including Kubernetes architecture, Kubernetes pods, services, config maps all the way to Kubernetes deployments. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You will learn the differences between docker vs Kubernetes allowing to start using these two technologies with confidence upon course completion <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This course is very hands on and practical or you will not learn anything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> Timestamps (JZK Alif)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> Introduction to Docker <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">0:00<\/a> &#8211; Introduction <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:34<\/a> &#8211; Course Overview <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">5:03<\/a> &#8211; What is Docker <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">9:34<\/a> &#8211; Installing Docker <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">12:56<\/a> &#8211; Verify Installation <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Images, Containers, and Ports <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">15:36<\/a> &#8211; Images &amp; Containers <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">17:06<\/a> &#8211; Pulling NGINX Image <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">21:12<\/a> &#8211; Running Containers <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">25:48<\/a> &#8211; Exposing Ports <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">30:01<\/a> &#8211; Exposing Multiple Ports <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">31:38<\/a> &#8211; Managing Containers <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">39:37<\/a> &#8211; Naming Containers Volumes <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">45:38<\/a> &#8211; Volumes <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">49:47<\/a> &#8211; Volumes Between Host and Container <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">57:53<\/a> &#8211; Customize Website <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:00:48<\/a> &#8211; Volumes Between Containers <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Building Images <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:04:03<\/a> &#8211; Dockerfile <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:06:10<\/a> &#8211; Creating Dockerfile <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:11:55<\/a> &#8211; Docker Build Project: Build an Image for an API <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:19:16<\/a> &#8211; Node JS and Express JS <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:25:50<\/a> &#8211; Dockerfile for our API <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:31:57<\/a> &#8211; Running Containers for our API Caching and Layers <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:35:02<\/a> &#8211; .dockerignore <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:40:17<\/a> &#8211; Caching and Layers <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:45:32<\/a> &#8211; Caching and Layers Part 2 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Reducing Image Size <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:51:39<\/a> &#8211; Alpine <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">1:54:30<\/a> &#8211; Pulling Alpine Images <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:00:02<\/a> &#8211; Using Alpine Tags and Versioning <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:06:28<\/a> &#8211; Tags and Versions <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:09:31<\/a> &#8211; Using Tags with Versions <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:13:35<\/a> &#8211; Running Containers and Tags <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:17:23<\/a> &#8211; Tagging Override <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:20:22<\/a> &#8211; Tagging Own Images <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:25:06<\/a> &#8211; Running Containers with Different Tags <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Docker Registries <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:29:58<\/a> &#8211; Docker Registry <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:32:58<\/a> &#8211; Create Docker Hub Repo <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:35:31<\/a> &#8211; Pushing Images to Docker Hub <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:41:32<\/a> &#8211; Pulling Own Images <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Debugging Containers <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:46:06<\/a> &#8211; Docker Inspect <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:49:30<\/a> &#8211; Docker Logs <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:53:51<\/a> &#8211; Docker Exec <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction to Kubernetes <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:57:30<\/a> &#8211; Kubernetes <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:58:35<\/a> &#8211; Course Overview <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">2:59:03<\/a> &#8211; What is Kubernetes <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kubernetes Architecture &amp; Components <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:02:28<\/a> &#8211; Kubernetes Architecture <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:07:01<\/a> &#8211; Pod, Service &amp; Ingress <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:12:51<\/a> &#8211; Config Map and Secret <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:16:05<\/a> &#8211; Volumes <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:18:06<\/a> &#8211; Deployments and Stateful Sets <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:23:25<\/a> &#8211; Components Summary <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Developing Locally <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:24:23<\/a> &#8211; Minikube and kubectl <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:28:06<\/a> &#8211; Installing Minikube and kubectl <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:34:06<\/a> &#8211; Create Deployment <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:37:17<\/a> &#8211; Debugging Pods <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:40:21<\/a> &#8211; kubectl apply -f <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:44:48<\/a> &#8211; kubectl commands summary <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Project: MongoDB and Mongo Express <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:45:42<\/a> &#8211; Deploying MongoDB and Mongo Express <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:48:00<\/a> &#8211; MongoDB Pod <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:52:01<\/a> &#8211; Secret <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">3:58:16<\/a> &#8211; MongoDB Internal Service <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">4:03:08<\/a> &#8211; Deployment Service and Config Map <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">4:09:56<\/a> &#8211; Mongo Express External Service <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\">4:16:03<\/a> &#8211; Congrats! You made it to the end \ud83c\udf89<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Description In this complete Docker and Kubernetes tutorial Nana from Techworld With Nana and Amigoscode have collaborated to teach you the fundamentals of docker and Kubernetes. There will be 2 parts. Docker tutorial and Kubernetes tutorial. Starting with docker for beginners to all you need to know about creating docker images, running docker containers, docker [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_post_was_ever_published":false},"categories":[4450],"tags":[4456,4458],"class_list":["post-5299","post","type-post","status-publish","format-standard","hentry","category-cloud-computing","tag-docker","tag-kubernetes"],"blocksy_meta":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2TFCd-1nt","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/posts\/5299","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/comments?post=5299"}],"version-history":[{"count":0,"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/posts\/5299\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/media?parent=5299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/categories?post=5299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.danielparente.net\/en\/wp-json\/wp\/v2\/tags?post=5299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}