Docker Tutorial for Beginners - A Full DevOps Course on How to Run Applications in Containers
Вставка
- Опубліковано 13 лип 2024
- Get started using Docker with this end-to-end beginners course with hands-on labs.
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.
In this course you will learn Docker through a series of lectures that use animation, illustration and some fun analogies that simply complex concepts, we have demos that will show how to install and get started with Docker and most importantly we have hands-on labs that you can access right in your browser.
💻 Practice Labs: bit.ly/3IxaqRN
🔗 KodeKloud Website: www.kodekloud.com
🎥 Tutorial from KodeKloud. Check out their UA-cam Channel: / mmumshad
⭐️ Course Contents ⭐️
⌨️ (0:00:00) Introduction
⌨️ (0:02:35) Docker Overview
⌨️ (0:05:10) Getting Started
⌨️ (0:16:58) Install Docker
⌨️ (0:21:00) Commands
⌨️ (0:29:00) Labs
⌨️ (0:33:12) Run
⌨️ (0:42:19) Environment Variables
⌨️ (0:44:07) Images
⌨️ (0:51:38) CMD vs ENTRYPOINT
⌨️ (0:58:37) Networking
⌨️ (1:03:55) Storage
⌨️ (1:16:27) Compose
⌨️ (1:34:49) Registry
⌨️ (1:39:38) Engine
⌨️ (1:46:20) Docker on Windows
⌨️ (1:53:22) Docker on Mac
⌨️ (1:55:20) Container Orchestration
⌨️ (1:59:25) Docker Swarm
⌨️ (2:03:21) Kubernetes
⌨️ (2:09:30) Conclusion
--
Learn to code for free and get a developer job: www.freecodecamp.org
Read hundreds of articles on programming: www.freecodecamp.org/news
These interactive hands-on labs are amazing as well as the entire course, thank you very much!
*My takeaways:*
1. Docler overview 2:35
2. Container vs Virtual Machine 9:25
3. Container vs image 13:07
4. Getting started 15:10
5. Install docker 16:58
6. Docker commands 21:00
7. Labs 29:00
8. Run docker 33:12
9. PORT mapping 36:30
10. Volume mapping 39:32
11. Docker environment variables 42:19
12. Docker images 44:10
13. Docker CMD vs ENTRYPOINT 51:38
14. Docker networking 58:37
15. Docker storage 1:03:57
16. Docker compose 1:16:27
17. Docker registry 1:34:50
18. Docker engine 1:39:38
19. Resource sharing between host and containers 1:44:40
20. Docker on Windows 1:46:18
21. Docker on Mac 1:53:22
22. Docker swarm 1:59:25
23. Overview of Kubernetes 2:03:20
Thank you. Much appreciated!
you lost docker compose 1:16:42
@@bearbuklyx5791 Thanks, I will fix it.
36:42 voicecrack
thank you!
I still struggle to believe that this is all free. Like, what even dude. You guys are the best!
You pay with your free time. Nothing is really free. Other ppl learn it as well which makes you worse off on the job market if you dont keep up.
You are paying by watching the ads :).
@@yusufakyol5607 *vigorously watches ads like a maniac*
"There's no such thing as a free lunch" - Milton Friedman
Life goes on because of good people like you. Excellent video. God bless you guys.
Well done. Right in line with my style of learning. Thanks for the effort put into the diagrams and labs.
Amazing course packed in 2h! The instructor's way of expressing and explaining the core concepts and technical aspects is just amazing. I'm really satisfied of what I have learnt from him 🔥 Huge thanks to KodeKloud! 🔥
One of the best videos that I've ever watched on youtube. Your platform is also awesome.
The best beginner's docker course ever!
I wasn't expecting this. This is beautiful, from the quizzes to the actual teaching. Beautiful
#eazzylearninglab fallow us
Absolutely phenomenal. With the hands on labs one of the best overall IT lessons on youtube period. God bless and sincerely thank you!
Amazing! I just love the simplicity on how it is explained, a gotta say that after two tries on learning docker, this third attempt was the most simple yet comprehensive one, thanks!!
Loved this, best explanation for docker, I found on UA-cam.
Very well explained. Most of the concepts included in a single video. I had watched many videos on Docker and got information on different parts. I started your video just to see if I know everything and I ended up watching the entire video.
Thanks for the help mate! Cheers.
Great tutorial tottally loved it, was looking for something exactly like this to start learning docker. Thank you !
This is the most detailed beginner course I have ever undergone. Amazing work by the instructor.
Great experience thru out the session and can see the effort put in the tutorial. Crystal clear communication to understand each and every word uttered. Two hours is less for such topics like Docker but incorporated everything needed for beginners. Bravo!
This an awesome introduction into Docker that covers all aspects necessary to get a very good overview of Docker and to get started. I especially like it that no time is wasted with lengthy, long-winded explanations and to much repetitions. The two hours are packed with information and every minute is worth watching. One of the best tutorials I've watched so far. Great job! 👍
Loved the pace and explanation !
Great job, sir! Thank you. I have been watching a full tutorial of docker which lasts more than 10 hours, but in two hours, you taught me a lot more. Thank you for sharing this.
You are welcome!
This is the best tutorial on docker so far. Clear and in-depth!
Great tutorial! It's very complete, detailed and easy to follow. Thank you!
This is the video training that we all have been wishing, waiting and hoping for. Sir, hands down...you are one of the best lecturers on this platform. Kudos and thanks.
Great teacher and the way it's presented! Well done!
P
Puppy ppppppppppllppppppplpl
Pplpppplpppppppppppppp
Pllppppyppppppppllppplppplllpppppp
Too good. Loved the way this course was made. Thank you!
Amazing tutorial & introduction to practical use. I'm going to be watching this a few times because there is so much to take in, but it hasn't got old or repetitive/monotonous. I like the explanation of deprecating options & the replacements so it helps with understanding the concept of what is being achieved.
I too absolutely enjoyed the tutorial for beginners and all the exercises. Great course!
You did such a phenomenal job on this video- like one in a thousand. You are an amazing teacher and really thought through the instructional sequence very well. I look forward to checking out your other videos and related instructional materials you referenced. Thanks!
Can't agree more. What a great experience! Thank you very much. Hope you succeed in all endeavors!
This is the single best intro to containerization, docker and container orchestration concepts. Enjoyed almost every second of it.
Great tutorial! Clear, concise, and just the right amount of detail to get started!!
very well organized and clearly explained, this is a tutorial highly recommended for beginners
Best explanation to Dockers and Docker orchestration Introduction. Loved it
The best Docker video I've watched so far. Clear and practical approach, especially the first hour of the video which is what I really need for now for our project. Thank you! :)
Greatest explanation of docker ever found on youtube, I hightly recommend and thank you for this great effort of sharing with the community, keep it up!
Without a doubt the best course I've ever watched. Hands down, excited by Docker now instead of fearing it! Amazing work.
Absolutely beautiful! So far the best course on Docker Basics I have came across!
Best tutorial I tried. It contains everything I needed to know to use docker from scratch unlike other videos that were not so inclusive. Great Job guys. Definetely keep an eye for other videos of interest coming from you.
The information in this video combined with the labs is easily the best Docker introduction I have found so far. Better than the official Docker introduction. Thank you for sharing your knowledge.
best docker tutorial available out there in the internet right now. Almost all docker concepts are covered in this tutorial with undeestandable explanation and visual representation. Awesome
Give this teacher a thumbs up ! He is brilliant at teaching.
This tutorial is GOLD. And the labs are AMAZING.
Have to agree that this course fills a big gap for starting out! Excellent presentation & pace. Thank you for sharing all your hard work and experience.
docker 2h, "NO ADS"
that's awesome
Just use uBlock origin for blocking ads lol. It's also sometimes responsible for spreading malware. Better off blocking it totally.
@@tcc1234 i acc use a browser called brave, its built off chromium so all the chrome extensions and best part, built in ad block :D
Very good video, cheer up! 😀
I didn't expect to see my childhood hero here...
Good short tutorial. Straight to the point which is what i like!
Brilliant! Thank you for this video! I started watching lot of docker tutorial videos, but found this the best!
Amazing, I have used Docker for small tests but everything was too "mechanical". This video made this though topic very easy to understand! Thanks!
Thanks for sharing this, Mumshad! This has been by far, the BEST course in anything Dev related that I've come across on UA-cam! I watched 3 videos regarding Docker prior to this and none were as clear and well explained as yours.
You are welcome!
#eazzylearninglab fallow us
You're such a great teacher! Thank you for this great course!
I don't have words to express how valuable and useful is this course. Thank you for providing it for free.
A complete tutorial with an expert tutor , thank you Mr.Mumshad
This tutorial is really good and effective, it's give an good idea abt entire docke, thankyou
I can't believe that a video with this quality is free, thanks so much for your efforts!
This is the best docker tutorial video I've seen on the internet so far. Nice work!
This is what a tutorial should be like. Thanks
YES! Perfect timing for me! Thank you so much for these videos.
Wow. This is the best beginner tutorial for docker that I have seen. Thanks a lot!
Quite frankly one of the best Docker beginners tutorials out there at the moment.
This is one of the greatest tutorials for anything I have ever tried to learn in my life.
One of the best parts of this is that you take the time to explain the history and development of Docker so that we understand why certain things work the way that they do. A great example is when you explain why docker-compose.yml files NEED to have the version number at the top, or why they DON'T need links in the same way.
You have incredible animations and good presentation skills, and everything is crystal-clear. I am so, so impressed and grateful. I am not a programmer or developer. I might be described as a power-user, but I very rarely write any code at all. I have found this tutorial to be very easy to follow even for someone with super limited knowledge of the programming world. For example, I know next to nothing about most of the systems we are running in the voting app stack. I have never used any of them or written anything in any of them. Even so, you made it easy for me to follow along and focus on DOCKER, not those other things.
This is the gold standard and I hope you and anyone else who worked on it are proud of this series. You certainly should be.
Thank you so much for your feedback! I really appreciate it. This made my day!
Awesome intro. I'm tech-adjacent and the first 45 mins helped me understand what the buzz is about.
Btw, your energy changed when you come to Kubernetes. I don't know if it's coz the 2 hours are coming to an end or just your appreciation of Kubernetes!
Really good - so great to have in all in a single video, and without adds to boot!
Awesome content, great presentation and really appreciate the effort for clear, understandable English, and even more amazing that the labs are free and also high in quality. Keep up the good work and thanks for sharing!
Best docker tutorial video I have ever watched! Thanks!
To be precise: Docker doesn't download the whole operating system. These are not really operating systems, they are Linux distributions that have their filesystems packaged into a container filesystem. You are not managing devices or even running the kernel of that operating system, only using their tools (e.g. apt-get, yum, or apk) to manage the contents of the container.
So Docker on Linux -> uses host linux kernel
Docker on windows -> uses Windows Subsystem for Linux kernel
Docker on mac -> uses Linux host VM kernel
The best tutorial for beginners I've seen about Docker! Thanks!
Best docker tutorial ever. Loved the way he teaches. Not too fast, not too slow.
I feel like there must be some confusion with the docker compose links example from 1:23:00 onward. The 'result-app' image name surely goes on the 4th "docker run" line, as well as the links arguments.
me too. can not understand
You're correct :)
Yeah, you are right. Sorry about that. It got mixed up during the animation.
correct
just a typo here: around 1.22.22 result-app is image for the 4° line not the 2° (db) as postgres image already specified..
yeah that was messing with me for a second!
corrected later at 1:25:18
came down in the comments to see if anyone else caught that. Messed with me too.
Truly one of the best, well-structured videos that I have ever seen, and I literally watch hundreds. I wish I had stumbled on this four years ago.
Thank you!
One of the best tutorial , I have followed the tutorial and the docker-labs and it was great , thank you!
BEST DOCKER COURSE
59:06 the name of the image must be the last argument!!
and the name of the image should be lowercase
This is excellent training! I really appreciate it. It's helping me a lot to get started with Docker.
Start at 5:10
Absolutely helpful & super thanks for making this free. Just one small comment, I think the video has a display error at 1.25.08 on "docker run -d - -name=db postgres:9.4 --link db:db result-app". Seems should be "docker run -d - -name=result -p 5001:80 --link db:db result-app" instead. Is that correct?
Ok, my own question is answered in 1.25.45 ;)
Thank you so much for making this available, You don't know how this saved me and boosted my productivity
Thanks for a great course. Your lab is really helpful for quick practice of the commands and easy to use as well.
If anyone is having trouble on lab 8 (docker-compose), you might need to use quotes around the port values, eg:
ports:
- "Hport:Cport"
When he talks about the matrix of hell in version problems and such, all I could think was, "every java app I've ever used in network engineering". LOL
Yup, to this day Java hasn't really solved how to deploy an app without relying on the host Java versions. You have to match the JRE version. Even if you try to use jlink or create a minimal JRE is still a pain. Then if you have multiples apps forget about it you'll be installing all JRE versions on your machine.
does docker do anything for java atm?
@@anthonymarquez2542 there are quite a few images for JRE and JDK, so yes you can have containers with certain versions if you're app is dependent on certain version.
@@anthonymarquez2542 for java directly? probably not. for the apps that require a specific java release? yeah
8.14) None shall speak of the *J* word
Absolutely worth your time. Highly recommended as a fast track to start learning docker.
Great course in 2 hours! Splendid presentation covering key points.
Just a heads up that the --link flag mentioned at 1:23:27 is now deprecated, see: docs.docker.com/network/links/
yes he did mention that
In section VOLUMES around 1h14s in the video:
The command for mounting: docker run -v data_volume:/var/lib/mysql mysql This didn't work for me. I needed to specify password for mysql as below:
docker run -e MYSQL_ALLOW_EMPTY_PASSWORD =yes -v data_volume:/var/lib/mysql mysql
I don't know if anybody got that problem but I wanted to share in case somebody having the issue.
PS: Beautiful video. Thanks a lot!
Well -- thank you so much for your time. It was such a great learning experience. Really liked your style of teaching !
Best Docker Material ever! The labs are amazing. A real life saver.
What he says at 47:26, "Every docker image must be based off of another image" is not true. You can build images from scratch, by specifying "FROM scratch" as the first line. The first image ever can't come from another image right, it would be interesting to see a tutorial on how to create a base image like they did for ubuntu.
Boneamps you probably building the OS from source and copying to the image
This is what I say perfect timing. Thanks freecodecamp.
Excellent! This would be a good start for beginners. Thank you for your wonderful work!
one the best tutorials I've ever watched . Thx al lot
Drinking Game:
Level 1: Drink when he says "Image"
Level 2: Drink when he says "Container"
Level 3: Drink when he says "Docker"
EPIC!!
Umm but 🤣
@@Tony_79 Unexpected HIMYM reference
Level 10: Drink when he speaks something
Literally any programming language: hello world
Docker: WHALE
This video is AWESOME!Thanks bro!
The combo of this video plus the labs is maybe the best educational material I've ever experienced in my life.
46:28: docker build Dockerfile does not work, and i get an error: unable to prepare context: context must be a directory
By default the build command needs the location of directory where a file named "Dockerfile" is present. So if you are in the directory with the Dockerfile, just use "docker build ." ( . means current directory). Use the -f or --file FILENAME option for a custom file.
I had the same problem, what I did was: 1) go to the folder 2) docker build -t imageNAME . NOTE: after imageNAME is space and a dot
53:08 nginx is pronounced as "engine x"
A review on this course and teacher :
I have seen lots of tutorials throughout my degree in computer science,
this was a pleasure of learning, and understanding lots of concepts from a to z
and with the help from the hands-on labs this was GREAT !
teacher is awsome, speaking clearly, emphasizing important notes
thank you so much ! - highly recommended for docker begginers
Great work man :) This is a really good introduction to docker. I was struggling to understand many of these things and had a mental block to try out docker. This simplified things a lot for me :) Thanks
Where is voting-app?
root@docker:~# docker run -d --name=vote -p 5000:80 voting-app
Unable to find image 'voting-app:latest' locally
docker: Error response from daemon: pull access denied for voting-app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.
I have the same issue, were you able to find a solution back then ?
I'm starting to feel like there might be too many new coding languages now..
That's what I was just thinking.
for like the last 10 years - languages frameworks AND tools!
Thanks for making the tutorial visually appealing. I loved the lab exercises as well! :)
Super detailed and to the point course. I am gonna be a follower for your other courses as well. Lab exercises are top notch.
when FreecodeCamp posts a tutorial that's an endorsement that the technology is worth learning
Here: ,
It's called a comma. Make good use of it