First time in my life watching something related to Docker. Understood everything. Put it into practice on my own project. Absolutely outstanding tutorial. Best there is by light years!
not gonna lie, I am going to get a raise from just watching this video.... you probably increase the net earnings of all the viewers on an average of 10k annually.
I am speecheless...I knew nothing about Docker an hour ago and here am I already creating my own images and running them inside containers. What a tutorial!!!!!!!! Thanks a ton Nana. I had to hit that Subscribe button! 🙏🔥
I have watched around 5-7 "beginner" tutorials on Docker, but none came even close to the comprehensiveness of this tutorial. This tutorial clarifies thoroughly the fundamentals of Docker at a perfect pace! Forever in your debt! :D
Heh, being hands-on, last year I went straight ahead and installed it. Along with Portainer for a management GUI. Cannot recall what I had in the containers, but eventually I mixed something up a bit ... and then left it behind for closer exploration in the future. :D
A great introductory course. Simple and concise. Slight correction for the Dockerfile section of the video. - *The commands in a dockerfile are not RUN/MAPPED in the container, only while BUILDING the image.* - _If it were, spinning up new containers would take longer as dependencies would have to be installed for each new container._ - Building a Docker image creates an object (the final layer) which specifies folder structures and contains all the necessary files i.e. base image files, installed package files, your program code and all other artifacts created as a result of the instructions in your Dockerfile. - Running the image creates a process (the container) to manage an ISOLATED instance with a folder structure and content continuing from where the image ended i.e. "run your code". This is why 2 containers based on the exact same image may have different contents at run time depending on what your code is doing to the file system: docker exec [ContainerId] ls . These underpin why a basic knowlege of Linux (file system and commands) is usually advised before learning Docker.
The best Docker Crash course I have seen till date , thoroughly enjoyed it. I have more than a decade experience in IT and I can safely say your way of teaching inspires me. Keep it up Nana, keep uploading more tech videos like this !! :)
I'm a long time follower of your channel, and love the way you teach. There are a lot of very talented instructors here on TH-cam, and I appreciate every one of them. What sets you apart from the rest is that you explain even the little details that everyone else glosses over, for example, " -it means interactive terminal " . That one little detail made learning k8s so much easier! Please keep up the great work!
I have been out of the development world for about a decade. This video was SUPER helpful in updating my brain to the current day about application virtualization. THANK YOU so much for creating this excellent presentation.
An outstanding tutorial. All the main important moments are clearly explained and shown in practice in just an hour - a really great work! 10/10 👍 Definitely the best Docker introduction I've seen so far.
Nana, you have a unique way of explaining things in a brief, well organized, well illustrated, and well demonstrated manner that makes you a great teacher. You just won another subscriber. Thank you!
I'd never run into your channel before. I've been in tech my entire career, and while I've bene familiar with Docker in the abstract, I simply haven't had a pressing need until now. I'd played with it years back, but then hadn't touched it. This video was the perfect recap to both remind me of what I'd learned before and to fill in a couple of gaps that I hadn't even known I had. Thanks very much!
Honestly this is the best and most up to date Docker crash course. It def gave me everything I needed for an upcoming project. It de-mystified all the jargon and everything is explained step by step in a good progression. I'll be checking out your online courses! Thank you so much for providing this!
I just finished watching your Docker crash course, and it was absolutely fantastic! As someone learning Docker for the first time, I was amazed at how you broke down complex concepts into simple, digestible parts. The step-by-step explanations were perfect for a beginner like me, and I was able to follow along and grasp the concepts without any confusion. Your teaching style is engaging, and the content is incredibly well-structured. This video has given me a solid understanding of Docker, and I feel much more confident about using it now. Thank you for creating such valuable content and helping learners like me get started with confidence!❤
This is so much better than any of the other Docker videos I tried. This is the minimum amount of info needed, love it! Any tutorial with less information is leaving out something essential.
Nana your courses are so awesome. I really appreciate your pacing and in-depth explanation. I've not had the opportunity to work much with containers professionally, and your tutorials are really helping me out as I implement them first in my home lab, and later at my job. Your hard work is appreciated!
This was such a great course. It gave me everything I needed to no feel overwhelmed when getting started using docker. Thank you so much for making this free, it looked like it took a lot of effort to put it together as it is present so well.
Had very low expectations because usually yt tutorials are a hit or miss. Got blown away by your fast and to the point teaching style. Amazing video, I already subscribed and put you on my "Search on this channel first" list when I want to learn something new.
This is definitely THE DOCKER CRASH COURSE I needed. The basics very well explained with just the right amount of context needed to understand and start using it. It filled all the gaps I had in mind while looking through all the docker related stuff in my project. Thanks Nana. We love your tutorials. 😎
I’ve finished LinkedIn’s course and nothing understood. But when I watched your course I fully understood all that you say. It’s awesome🔥 You do your work amazingly. Thank you very much indeed ❤️
This is an incredible video, an exemplar display of both technical and pedagogical competence. The animations are on point too, and combined with your way of exposing the whole learning process becomes so lightweight and pleasurable. Thank you for real 💎
this course is gold! been postponing learning how to use docker and you made it simple to learn and how it works behind the scenes. Thanks for doing this!
Absolutely Amazing crash course and love the way you've gone in to detail but just enough to get the flow moving and to cover such a huge topic in one hour. Thank you. Sadly, one key are many doing such tutorials seem to skim over is the concept of how the tool/application applies to the real world/SD lifecycle. This was attempted at 1.03 in the video but again, skimmed over I presume to keep the video to 1 hour however, I hope @Nana can take this feedback onboard and spend that last 10 minutes really showing how the tool/application is utilised in real world DEVOPS environments with examples. Aside from this, the key concepts within such a short video are clearly explained and a huge thank you once again for the hard work! Mo
That was awesome! Thank you for taking out time and creating this gem. I always struggled with Docker, but this video is super easy and you explained everything perfectly. Thank you Nana.
As a hobbyist programmer working on my own, I've never needed Docker but have long been aware and curious about it. Previous attempts to get some useful understanding of it have simply confused me but this video is a gift. I followed along by installing Docker and trying the examples on my machine and everything was as explained. I don't yet have the 'aha!' understanding of how developers interact with containers (almost touched on at 1:04) and so will study the other videos mentioned at the end. This intro is really very good, thank you.
I’ve watched lots of videos that claimed to teach dockers for dummies and end up teaching it like I’m already a pro, which just make me fall asleep. I almost gave up until I found your video. You really took your time to explain it from the basic basics. I subscribed immediately. NetworkChuck couldn’t even explain as easy as this.
Hi! I have been working towards my A+, and plan to go for CCNA after that. In the mean time as part of a homelab I wanted to create some minecraft servers using docker. I was quite overwhelmed, but your video is amazing! You explain each part and not just "show me how". I look forward to watching other videos of yours. Just want to say TYSM!!
Thanks, Nana! Even with a CS degree from a top German university, I found this video incredibly helpful. Your explanations were clear and intuitive - I learned a lot. Great job!
I can tell how much work was put into creating this video. The information and presentation are both of very high quality. Will be subscribing for more :)
absolute bang, i have been struggling to understand docker, images, containers, VMs, and now I am finally here after multiples tutorials and finally understanding things much better, connecting all the dots. Thank you so much.
Very well explained - you have a great ability to convey information in plain, easy to understand terms. I didn't understand Docker before watching this but you totally demystified if for me! Thanks - Subscribed!
Note to Self Imp difference between virtual machine and docker ( have own os -virtual machine) Port binding to our lost host ( connect docker network port with our local port) expose difference between start, run containers ( start an existing one ) 47.00 - 49.00 Difference between Registry and Repository Registry is a service providing storage. Ex: AWS ECR Registry is a collection of Repository . Repository is a collection of related images with same name but different versions. Docker-file Build Instruction We need to create a "definition " of how to build an image from our application. Dockerfile is a text document that contains commands to assemble an image Docker can then build an image by reading those instructions. Docker starts form a parent or base image. Docker images consists of layers and each layer is a delta of changes from previous layer
Best tutorial ever! Perfect pace, perfect explanations, not rushing from window to window, good inferential questions, and teaching with real examples.
Explanations are clear and easy to understand. I tried many times to learn Docker concepts but I succeeded this time. Thanks for the great explanations
Here are all of the commands - plus a few more I read about online: docker commands --------------- Here are some commonly used Docker CLI commands: docker ps Lists all running Docker containers. If you want to see all containers (not just running), use `docker ps -a` docker pull [image name]:[tag] Downloads a Docker image from Docker Hub docker images Lists all Docker images that you have locally docker run [image name]:[tag] run a Docker container from a Docker image. You can specify the image either by its name or ID. DETACH docker run -d [image name]:[tag] runs in detached mode, eg, doesn't hijack your terminal run will pull the image from docker hub if it isn't found locally PORT BINDING docker run -d -p [local port]:[container port] [image name]:[tag] NAME THE CONTAINER docker run --name [given name] -d -p [local port]:[container port] [image name]:[tag] docker logs [container name | container id] Fetches the logs of a container. You can specify the container either by its name or ID. docker stop [container name | container id] Stops a running Docker container. You can specify the container either by its name or ID. docker start [container name | container id] starts an existing container docker rm [container name | container id] Deletes a Docker container. You can specify the container either by its name or ID. docker rmi [container name | container id] Removes a Docker image. You can specify the image either by its name or ID. docker images -------- DOCKER FILE the file from which an image is built -------- FROM Sets the base image for subsequent instructions. A valid Dockerfile must start with a `FROM` instruction. Example: `FROM ubuntu:18.04` COPY Copies files or directories from `` and adds them to the filesystem of the container at the path `` Example: `COPY . /app/` the trailing slask `/` means create this folder if it doesn't exist Example: `COPY package.json /app/` Example: `COPY src /app/` WORKDIR Sets the working directory for any `RUN`, `CMD`, `ENTRYPOINT`, `COPY` and `ADD` instructions that follow it in the Dockerfile. Example: `WORKDIR /app` RUN Executes any commands in a shell/terminal inside the container environment The commands add a new layer on top of the current image and commit the results. The resulting committed image will be used for the next step in the Dockerfile. Example: `RUN npm install` Example: `RUN apt-get update && apt-get install -y python3` CMD Provides defaults for an executing container. These can include an executable, or they can omit the executable, in which case you must specify an `ENTRYPOINT` command. Example: `CMD ["executable","param1","param2"]` Example: `CMD ["node","server.js"]` --- other commands --- ENTRYPOINT This command allows you to configure a container that will run as an executable. Example: `ENTRYPOINT ["executable", "param1", "param2"]` ADD This command copies new files, directories or remote file URLs from `` and adds them to the filesystem of the container at the path ``. `ADD` has some features (like local-only tar extraction and remote URL support) not present in `COPY`. Example: `ADD . /app` EXPOSE This command informs Docker that the container listens on the specified network ports at runtime. Example: `EXPOSE 8080` ENV This command sets the environment variable `` to the value ``. This value will be in the environment for all subsequent instructions in the build stage and can be replaced inline in many as well. Example: `ENV MY_NAME="John Doe"` VOLUME This command creates a mount point with the specified name and marks it as holding externally mounted volumes from native host or other containers. Example: `VOLUME /myvol` ARG This command defines a variable that users can pass at build-time to the builder with the `docker build` command. Example: `ARG VERSION=latest` USER This command sets the user name (or UID) and optionally the user group (or GID) to use when running the image and for any `RUN`, `CMD` and `ENTRYPOINT` instructions that follow it in the Dockerfile. Example: `USER myuser` Remember, the order of commands in a Dockerfile matters because each command in a Dockerfile results in a new image layer. Later commands can use the results of previous commands. Also, Docker uses a build cache - if a particular command has been executed before and nothing has changed, Docker uses the cached result, which can make building images faster. -------- Build a DOCKER IMAGE from a DOCKER FILE -------- docker build -t [name:tag] Builds a Docker image from a Dockerfile in the current directory. The `-t` option lets you specify a name and tag for the image. docker exec -it [container_id] command Runs a command in a running container. The `-it` options make the session interactive so you can interact with the command. You can specify the container either by its name or ID. docker-compose up Starts all services defined in a `docker-compose.yml` file docker-compose down Stops and removes all services defined in a `docker-compose.yml` file. -------- Remember that to use any of these commands, you first need to have Docker running on your system. Additionally, most of these commands require root privileges, so depending on your system's configuration, you might need to prefix them with `sudo`. Also note that many commands have additional options and flags that can be used to modify their behavior. You can see these by typing the command followed by `--help`, for example, `docker run --help`.
This is the best tutorial I could find so far that well answer the WHYs and WHATs questions in my head. Clear explanation and visualization. Many thanks!!
This is the best tutorial I have seen on docker, it shot my confidence to the moon. In fact, whenever I need any devops information, I check whether Nana has made something about it. Thanks for doing a great job.
This was my first into to Docker. The entire presentation is so precise, contextual and easy to follow along. It has been broken down into very logical parts and the flow is well organized. Many thanks for creating this for us.
Only tutorial i've ever watched. ive tried watching over like 10 this one had me hooked from the start. easy explanation- anyone doubting keep watching i learned a lot
Wow, what an exceptional presentation of Docker, understanding the components, interactions, and how to use the essentials! I’ve read several professional tutorials, and none were as clear or detailed-often skipping important details-as this video. Kudos! Thank you!
I have read a lot of documentation online. But after watching this video, i am pretty much more confident and gain many new concepts from this. Thanks a lot.
Finally a tutorial that helps you understand what Docker actually is, how it works and also very practical. Although I couldn't get it to work with npm it was a step in the right direction for me. Maybe once an example in a tutorial would be possible, where a MySQL database is pulled as an image from docker-hub, then via Dockerfile a database and a table are created and lastly a record is written to the database. That would be great. But it would also be important for me to understand how I can get back to this data set, even if the container was stopped once ... (If I have understood it correctly, the container is reset with every stop, right?)
I wanted to learn Docker today and this crash course really helped me understand what docker is and how docker works in an hour! The crash course was great in terms of understanding and clarity which a beginner needs! Thanks a lot Nana! Will definetly recommend it to my peers and whoever wants to start learning Docker from scratch. ♥♥♥
First, I watched your full course [3 hours] about docker. I. have learned so much things but I had some question marks in my mind especially about reasons. You explained docker more clearly and more convenient way in this video. My questions have been destroyed. Many thanks!
I'm taking a DevSecOps class that touched on Docker, but I'm 13 minutes into this video and it's already clarifying some holes in my understanding. Thanks so much... I'm really looking forward to checking out your other videos.
You are a great teacher; thank you very much for making this video. It was the best hour I’ve ever spent learning something in my life. Every concept was extremely clear and is now firmly embedded in my mind.
Keep it up, the teaching method is master piece, I like the way how guiding is conduct like showing the actual procedure instead of blindly talking! Definitely deserve more subcriber!
This is the best docker crash course I've seen so far, I was struggling with all the other videos and with yours I have 0 questions, I loved the part where you created the Dockerfile, you created in a way that it was super clear why you were using some specific commands, you got a new subscriber :)
Very clear, professional, neat, and helpful lecture. Nana's knowledge is so solid and it is understandable from the way she teaches. I really enjoyed it. Thanks
Thank you for making this video. I've been waking up very early every morning to take your classes and have improved my skills. Knowledge is worth more than gold so you have done a great service. Also, I call my grandmother Nana and she is the coolest lady in the world.
I've recently been learning more about Docker by taking courses and reading documentation, and honestly this whole video has been so helpful. Thank you!
Don’t have words to say 👏👏👏👏👏👏, how simple you made it to understand. Even someone from non technical background would be able to jump in to software development, following your channel 🙂. Even I am planning to suggest it to my wife 😎
10:58 First let me say that only ten minutes into the video I know this is one of the best resources I've seen. Immediately became a subscriber and will view many of your videos. Secondly a bit of feedback: your 'before' in 'before and after Docker' is somewhat simplified. I understand that you are making a generic example to show the difference and I get that you can't include everything in a one hour video. Still I think it's worth pointing out that modern CI/CD pipelines bridge many of those issues and does not necessarily mean you have to download the full environment and dependencies locally in order to revise code. Docker containers have other benefits that are not specifically solving only that bit. Docker containers often require orchestration which can be overly complex for simple applications. You may get to this later in the video. I hope to find a video on pros and cons for Docker vs. virtualization vs. serverless. If none yet, see this as a humble request. Again, great stuff and keep it up! 💪🏻
First time in my life watching something related to Docker. Understood everything. Put it into practice on my own project. Absolutely outstanding tutorial. Best there is by light years!
not gonna lie, I am going to get a raise from just watching this video.... you probably increase the net earnings of all the viewers on an average of 10k annually.
NetworkChuck says "you need to learn Docker right now". :$
I am speecheless...I knew nothing about Docker an hour ago and here am I already creating my own images and running them inside containers. What a tutorial!!!!!!!! Thanks a ton Nana. I had to hit that Subscribe button! 🙏🔥
That's amazing, welcome to my channel! :)
I have watched around 5-7 "beginner" tutorials on Docker, but none came even close to the comprehensiveness of this tutorial. This tutorial clarifies thoroughly the fundamentals of Docker at a perfect pace! Forever in your debt! :D
when she explain what VM is compare to docker, and what docker Desktop basically run a Linux VM, everything just make sense now 😀
Heh, being hands-on, last year I went straight ahead and installed it. Along with Portainer for a management GUI. Cannot recall what I had in the containers, but eventually I mixed something up a bit ... and then left it behind for closer exploration in the future. :D
A great introductory course. Simple and concise.
Slight correction for the Dockerfile section of the video.
- *The commands in a dockerfile are not RUN/MAPPED in the container, only while BUILDING the image.*
- _If it were, spinning up new containers would take longer as dependencies would have to be installed for each new container._
- Building a Docker image creates an object (the final layer) which specifies folder structures and contains all the necessary files i.e. base image files, installed package files, your program code and all other artifacts created as a result of the instructions in your Dockerfile.
- Running the image creates a process (the container) to manage an ISOLATED instance with a folder structure and content continuing from where the image ended i.e. "run your code".
This is why 2 containers based on the exact same image may have different contents at run time depending on what your code is doing to the file system: docker exec [ContainerId] ls .
These underpin why a basic knowlege of Linux (file system and commands) is usually advised before learning Docker.
Thanks!You did a great docker presentation.
Thanks so much! :)
The best Docker Crash course I have seen till date , thoroughly enjoyed it. I have more than a decade experience in IT and I can safely say your way of teaching inspires me. Keep it up Nana, keep uploading more tech videos like this !! :)
Will definitely do, appreciate your amazing feedback! :)
I'm a long time follower of your channel, and love the way you teach. There are a lot of very talented instructors here on TH-cam, and I appreciate every one of them. What sets you apart from the rest is that you explain even the little details that everyone else glosses over, for example, " -it means interactive terminal " . That one little detail made learning k8s so much easier! Please keep up the great work!
Been in industry for 2 decades. These 1 and 4 hours courses are a boon for a large segment of population. Thanks a lot !
I have been out of the development world for about a decade. This video was SUPER helpful in updating my brain to the current day about application virtualization. THANK YOU so much for creating this excellent presentation.
Just curious...were you away from IT completely for those 10 years? (I notice many people leave IT for a while and come back)
An outstanding tutorial. All the main important moments are clearly explained and shown in practice in just an hour - a really great work!
10/10 👍
Definitely the best Docker introduction I've seen so far.
Wow, I can't believe it! I learned Docker in one hour. You are amazing!
Nana, you have a unique way of explaining things in a brief, well organized, well illustrated, and well demonstrated manner that makes you a great teacher. You just won another subscriber. Thank you!
You are by far the easiest follow on TH-cam. You are clear, efficient and energetic. Thank you for not being a dud 😊.
Excellent tutorial. No unnecessary talking, smooth learning curve with no complexity jumps, just compressed information. Like it a lot.
I'd never run into your channel before. I've been in tech my entire career, and while I've bene familiar with Docker in the abstract, I simply haven't had a pressing need until now. I'd played with it years back, but then hadn't touched it. This video was the perfect recap to both remind me of what I'd learned before and to fill in a couple of gaps that I hadn't even known I had. Thanks very much!
Honestly this is the best and most up to date Docker crash course. It def gave me everything I needed for an upcoming project. It de-mystified all the jargon and everything is explained step by step in a good progression. I'll be checking out your online courses! Thank you so much for providing this!
What an explanation. Just amazing. I have an interview tomorrow, and this one-hour video cleared all my doubts. Thank you so much for this.
You're the first person I found that managed to explain what a container actually is and what it does in a way that's clear.
I have never done or used docker in the past, but, I have been wanting to learn. Now I am motivated to go deeper into this subject. Great Job!!!!
I just finished watching your Docker crash course, and it was absolutely fantastic! As someone learning Docker for the first time, I was amazed at how you broke down complex concepts into simple, digestible parts. The step-by-step explanations were perfect for a beginner like me, and I was able to follow along and grasp the concepts without any confusion. Your teaching style is engaging, and the content is incredibly well-structured. This video has given me a solid understanding of Docker, and I feel much more confident about using it now. Thank you for creating such valuable content and helping learners like me get started with confidence!❤
This is so much better than any of the other Docker videos I tried. This is the minimum amount of info needed, love it! Any tutorial with less information is leaving out something essential.
Nana your courses are so awesome. I really appreciate your pacing and in-depth explanation. I've not had the opportunity to work much with containers professionally, and your tutorials are really helping me out as I implement them first in my home lab, and later at my job. Your hard work is appreciated!
This was such a great course. It gave me everything I needed to no feel overwhelmed when getting started using docker. Thank you so much for making this free, it looked like it took a lot of effort to put it together as it is present so well.
Had very low expectations because usually yt tutorials are a hit or miss. Got blown away by your fast and to the point teaching style. Amazing video, I already subscribed and put you on my "Search on this channel first" list when I want to learn something new.
Your explanations and animation graphics make learning so much fun. Thanks for doing so much for the community 👏🏻🙏🏻
Thanks for appreciating our efforts, means a lot! 💙
indeed , there is a strong correlation between explanations and animations .
But the audio could use some help. A little work toward reducing the echo would go a long way.
@@NetBandit70 it works just fine on my end.
@@TechWorldwithNana Can we get the slides Just for Quick Refresher whenever we go before interview
This is definitely THE DOCKER CRASH COURSE I needed. The basics very well explained with just the right amount of context needed to understand and start using it. It filled all the gaps I had in mind while looking through all the docker related stuff in my project. Thanks Nana. We love your tutorials. 😎
This is EXACTLY what I needed. Clear, with perfect balance between theory and practice. Thank you so much!
Thanks for the feedback, appreciate it! :)
I’ve finished LinkedIn’s course and nothing understood. But when I watched your course I fully understood all that you say. It’s awesome🔥 You do your work amazingly. Thank you very much indeed ❤️
This is an incredible video, an exemplar display of both technical and pedagogical competence.
The animations are on point too, and combined with your way of exposing the whole learning process becomes so lightweight and pleasurable. Thank you for real 💎
This is brilliant, I couldn't understand the other tutorials I tried, even thought they all said they were for beginners. This more than delivered.
this course is gold! been postponing learning how to use docker and you made it simple to learn and how it works behind the scenes. Thanks for doing this!
i'm speecheless , the way you're answering each question that pops into my head and clarify each detail in such smooth and perfect manner
Absolutely Amazing crash course and love the way you've gone in to detail but just enough to get the flow moving and to cover such a huge topic in one hour. Thank you. Sadly, one key are many doing such tutorials seem to skim over is the concept of how the tool/application applies to the real world/SD lifecycle. This was attempted at 1.03 in the video but again, skimmed over I presume to keep the video to 1 hour however, I hope @Nana can take this feedback onboard and spend that last 10 minutes really showing how the tool/application is utilised in real world DEVOPS environments with examples. Aside from this, the key concepts within such a short video are clearly explained and a huge thank you once again for the hard work! Mo
Thanks for your great feedback! As mentioned in the video, I actually cover real world DevOps projects, examples and demos in our DevOps bootcamp.
@@TechWorldwithNana❤
The absolute finest introduction to Docker on TH-cam, period. Thank you kindly for sharing your knowledge.
That was awesome! Thank you for taking out time and creating this gem. I always struggled with Docker, but this video is super easy and you explained everything perfectly. Thank you Nana.
As a hobbyist programmer working on my own, I've never needed Docker but have long been aware and curious about it. Previous attempts to get some useful understanding of it have simply confused me but this video is a gift. I followed along by installing Docker and trying the examples on my machine and everything was as explained. I don't yet have the 'aha!' understanding of how developers interact with containers (almost touched on at 1:04) and so will study the other videos mentioned at the end. This intro is really very good, thank you.
THIS IS THE BEST DOCKER VIDEO IN THE HISTORY OF THE INTERNET
I’ve watched lots of videos that claimed to teach dockers for dummies and end up teaching it like I’m already a pro, which just make me fall asleep. I almost gave up until I found your video. You really took your time to explain it from the basic basics. I subscribed immediately. NetworkChuck couldn’t even explain as easy as this.
Hi! I have been working towards my A+, and plan to go for CCNA after that. In the mean time as part of a homelab I wanted to create some minecraft servers using docker. I was quite overwhelmed, but your video is amazing! You explain each part and not just "show me how". I look forward to watching other videos of yours. Just want to say TYSM!!
Thanks, Nana! Even with a CS degree from a top German university, I found this video incredibly helpful. Your explanations were clear and intuitive - I learned a lot. Great job!
One of the best courses with very clear explanation and animation. Appreciate it.
I learned so much! Appreciated.
Glad it was helpful and thank you for your support!
The best video I have got on youtube for docker.
Definitely the best resource available to the field
Thanks for the feedback David, really happy to hear! 😊
Do you guys have tutoring programs for beginners???
Enough information to be able to have a sensible discussion with IT. The most helpful tutorial I've ever used!
It helped a lot for beginners like me. The way you teach and explain through animations makes it understandable for all. Stay blessed ever ameen
I can tell how much work was put into creating this video. The information and presentation are both of very high quality. Will be subscribing for more :)
Thanks for your appreciation Rozeta and happy we won a new subscriber :)
Thank you so much for these devops series. Love from India, I really love the way u teach
Thanks so much Siddhant!
absolute bang, i have been struggling to understand docker, images, containers, VMs, and now I am finally here after multiples tutorials and finally understanding things much better, connecting all the dots. Thank you so much.
Very well explained - you have a great ability to convey information in plain, easy to understand terms. I didn't understand Docker before watching this but you totally demystified if for me! Thanks - Subscribed!
It's the first time I get to watch a docker content that's not boring! Thanks
Note to Self
Imp
difference between virtual machine and docker ( have own os -virtual machine)
Port binding to our lost host ( connect docker network port with our local port) expose
difference between start, run containers ( start an existing one )
47.00 - 49.00
Difference between Registry and Repository
Registry is a service providing storage. Ex: AWS ECR
Registry is a collection of Repository .
Repository is a collection of related images with same name but different versions.
Docker-file Build Instruction
We need to create a "definition " of how to build an image from our application.
Dockerfile is a text document that contains commands to assemble an image
Docker can then build an image by reading those instructions.
Docker starts form a parent or base image.
Docker images consists of layers and each layer is a delta of changes from previous layer
Best tutorial ever! Perfect pace, perfect explanations, not rushing from window to window, good inferential questions, and teaching with real examples.
Explanations are clear and easy to understand. I tried many times to learn Docker concepts but I succeeded this time. Thanks for the great explanations
This tutorial is a treasure trove for anyone who wants to learn Docker; it is explained very well.
Thanks for all the effort you've put on this video, Nana. It's super well made and helpful!
Here are all of the commands - plus a few more I read about online:
docker commands
---------------
Here are some commonly used Docker CLI commands:
docker ps
Lists all running Docker containers.
If you want to see all containers (not just running), use `docker ps -a`
docker pull [image name]:[tag]
Downloads a Docker image from Docker Hub
docker images
Lists all Docker images that you have locally
docker run [image name]:[tag]
run a Docker container from a Docker image.
You can specify the image either by its name or ID.
DETACH
docker run -d [image name]:[tag]
runs in detached mode, eg, doesn't hijack your terminal
run will pull the image from docker hub if it isn't found locally
PORT BINDING
docker run -d -p [local port]:[container port] [image name]:[tag]
NAME THE CONTAINER
docker run --name [given name] -d -p [local port]:[container port] [image name]:[tag]
docker logs [container name | container id]
Fetches the logs of a container.
You can specify the container either by its name or ID.
docker stop [container name | container id]
Stops a running Docker container.
You can specify the container either by its name or ID.
docker start [container name | container id]
starts an existing container
docker rm [container name | container id]
Deletes a Docker container.
You can specify the container either by its name or ID.
docker rmi [container name | container id]
Removes a Docker image.
You can specify the image either by its name or ID.
docker images
--------
DOCKER FILE
the file from which an image is built
--------
FROM
Sets the base image for subsequent instructions.
A valid Dockerfile must start with a `FROM` instruction.
Example: `FROM ubuntu:18.04`
COPY
Copies files or directories from ``
and adds them to the filesystem of the container at the path ``
Example: `COPY . /app/`
the trailing slask `/` means create this folder if it doesn't exist
Example: `COPY package.json /app/`
Example: `COPY src /app/`
WORKDIR
Sets the working directory
for any `RUN`, `CMD`, `ENTRYPOINT`, `COPY` and `ADD` instructions that follow it in the Dockerfile.
Example: `WORKDIR /app`
RUN
Executes any commands in a shell/terminal inside the container environment
The commands add a new layer on top of the current image and commit the results.
The resulting committed image will be used for the next step in the Dockerfile.
Example: `RUN npm install`
Example: `RUN apt-get update && apt-get install -y python3`
CMD
Provides defaults for an executing container.
These can include an executable, or they can omit the executable, in which case you must specify an `ENTRYPOINT` command.
Example: `CMD ["executable","param1","param2"]`
Example: `CMD ["node","server.js"]`
--- other commands ---
ENTRYPOINT
This command allows you to configure a container that will run as an executable.
Example: `ENTRYPOINT ["executable", "param1", "param2"]`
ADD
This command copies new files, directories or remote file URLs from `` and adds them to the filesystem of the container at the path ``. `ADD` has some features (like local-only tar extraction and remote URL support) not present in `COPY`.
Example: `ADD . /app`
EXPOSE
This command informs Docker that the container listens on the specified network ports at runtime.
Example: `EXPOSE 8080`
ENV
This command sets the environment variable `` to the value ``. This value will be in the environment for all subsequent instructions in the build stage and can be replaced inline in many as well.
Example: `ENV MY_NAME="John Doe"`
VOLUME
This command creates a mount point with the specified name and marks it as holding externally mounted volumes from native host or other containers.
Example: `VOLUME /myvol`
ARG
This command defines a variable that users can pass at build-time to the builder with the `docker build` command.
Example: `ARG VERSION=latest`
USER
This command sets the user name (or UID) and optionally the user group (or GID) to use when running the image and for any `RUN`, `CMD` and `ENTRYPOINT` instructions that follow it in the Dockerfile.
Example: `USER myuser`
Remember, the order of commands in a Dockerfile matters because each command in a Dockerfile results in a new image layer. Later commands can use the results of previous commands. Also, Docker uses a build cache - if a particular command has been executed before and nothing has changed, Docker uses the cached result, which can make building images faster.
--------
Build a DOCKER IMAGE from a DOCKER FILE
--------
docker build -t [name:tag]
Builds a Docker image from a Dockerfile in the current directory.
The `-t` option lets you specify a name and tag for the image.
docker exec -it [container_id] command
Runs a command in a running container.
The `-it` options make the session interactive so you can interact with the command.
You can specify the container either by its name or ID.
docker-compose up
Starts all services defined in a `docker-compose.yml` file
docker-compose down
Stops and removes all services defined in a `docker-compose.yml` file.
--------
Remember that to use any of these commands, you first need to have Docker running on your system. Additionally, most of these commands require root privileges, so depending on your system's configuration, you might need to prefix them with `sudo`.
Also note that many commands have additional options and flags that can be used to modify their behavior. You can see these by typing the command followed by `--help`, for example, `docker run --help`.
Expose: listens on the network port at run time - listens for commands from docker client ? Listens for what ? Can you please clarify?
Can't express my feelings how happy I'm to learn the basics of Docker from you Nana!
Amazing and crisp content.
Love from India!!
As always, the best explanation. Thank you for making such a wonderful crash course.
Thank you Vipin, glad you liked the crash course :)
This is the best tutorial I could find so far that well answer the WHYs and WHATs questions in my head. Clear explanation and visualization. Many thanks!!
That was awesome explanation . Thanks a lot Nana. No other crash course matches with this 👏👏👌👌
Thanks Prasad, really happy to hear! :)
In fact Nana you were born to teach, just 11 minutes 39 seconds of explanation I'm satisfied. God bless you with more wisdom for us to benefit from.
You are one of my favorite humans ever!
I am using the docker for the last 2 years. But after watching this video, I got the crystal clear idea.
Thank you ma'am.
This video should be the definition of crash course is.
I’m new to docker and this tutorial is absolutely all you need to get started
Awesome, you make tech so simple. Thank You so much
This is the best tutorial I have seen on docker, it shot my confidence to the moon. In fact, whenever I need any devops information, I check whether Nana has made something about it. Thanks for doing a great job.
First to comment. Thanks for everything you do for the community ❤
This was my first into to Docker. The entire presentation is so precise, contextual and easy to follow along. It has been broken down into very logical parts and the flow is well organized. Many thanks for creating this for us.
Great job a always Nana and Nicole
Only tutorial i've ever watched. ive tried watching over like 10 this one had me hooked from the start. easy explanation- anyone doubting keep watching i learned a lot
Wow, what an exceptional presentation of Docker, understanding the components, interactions, and how to use the essentials! I’ve read several professional tutorials, and none were as clear or detailed-often skipping important details-as this video. Kudos! Thank you!
This must be the best Docker tutorial for beginners. Hats off 👏
Thanks a lot 😊
I have read a lot of documentation online. But after watching this video, i am pretty much more confident and gain many new concepts from this. Thanks a lot.
Brilliant Hardwork for us ...No more words to say such course Nana.. complete Docker course learned in just 2 days over weekend ...Thank you 🎉❤
Finally a tutorial that helps you understand what Docker actually is, how it works and also very practical. Although I couldn't get it to work with npm it was a step in the right direction for me. Maybe once an example in a tutorial would be possible, where a MySQL database is pulled as an image from docker-hub, then via Dockerfile a database and a table are created and lastly a record is written to the database. That would be great. But it would also be important for me to understand how I can get back to this data set, even if the container was stopped once ... (If I have understood it correctly, the container is reset with every stop, right?)
I wanted to learn Docker today and this crash course really helped me understand what docker is and how docker works in an hour!
The crash course was great in terms of understanding and clarity which a beginner needs!
Thanks a lot Nana! Will definetly recommend it to my peers and whoever wants to start learning Docker from scratch.
♥♥♥
I wish we could like this video multiple times! I learned so much-thanks, Nana! You just gained a new subscriber.
Thanks!
Thank you David for the support! Appreciate it :)
First, I watched your full course [3 hours] about docker. I. have learned so much things but I had some question marks in my mind especially about reasons. You explained docker more clearly and more convenient way in this video. My questions have been destroyed. Many thanks!
First ever TH-cam tutorial I started and finished. Amazing stuff Nana. Really appreciate your impact and teaching style
Haha the same here
I'm taking a DevSecOps class that touched on Docker, but I'm 13 minutes into this video and it's already clarifying some holes in my understanding. Thanks so much... I'm really looking forward to checking out your other videos.
You are a great teacher; thank you very much for making this video. It was the best hour I’ve ever spent learning something in my life. Every concept was extremely clear and is now firmly embedded in my mind.
Keep it up, the teaching method is master piece, I like the way how guiding is conduct like showing the actual procedure instead of blindly talking! Definitely deserve more subcriber!
I am a curious learner and a novice in Docker. This tutorial is so amazing. it made me confident about Dockers right away!. Thx a Ton !!
This is the best docker crash course I've seen so far, I was struggling with all the other videos and with yours I have 0 questions, I loved the part where you created the Dockerfile, you created in a way that it was super clear why you were using some specific commands, you got a new subscriber :)
Very clear, professional, neat, and helpful lecture. Nana's knowledge is so solid and it is understandable from the way she teaches. I really enjoyed it. Thanks
Thank you for making this video. I've been waking up very early every morning to take your classes and have improved my skills. Knowledge is worth more than gold so you have done a great service. Also, I call my grandmother Nana and she is the coolest lady in the world.
I've recently been learning more about Docker by taking courses and reading documentation, and honestly this whole video has been so helpful. Thank you!
It's been an year since I follow your videos on YT. I will frankly say staring with K8s, I have no regret to keep going on !!
The most impressive tutorial - clear, well-structured, and visually stunning.
Keep doing what you're doing. You're the best resource on youtube for this stuff, Nana.
Don’t have words to say 👏👏👏👏👏👏, how simple you made it to understand. Even someone from non technical background would be able to jump in to software development, following your channel 🙂. Even I am planning to suggest it to my wife 😎
This is one of the best crash courses I have seen on Docker.
Where have you been my whole life, instantly subscribed thanks for saving me a lot of headache.
10:58
First let me say that only ten minutes into the video I know this is one of the best resources I've seen. Immediately became a subscriber and will view many of your videos.
Secondly a bit of feedback: your 'before' in 'before and after Docker' is somewhat simplified. I understand that you are making a generic example to show the difference and I get that you can't include everything in a one hour video. Still I think it's worth pointing out that modern CI/CD pipelines bridge many of those issues and does not necessarily mean you have to download the full environment and dependencies locally in order to revise code. Docker containers have other benefits that are not specifically solving only that bit.
Docker containers often require orchestration which can be overly complex for simple applications. You may get to this later in the video.
I hope to find a video on pros and cons for Docker vs. virtualization vs. serverless. If none yet, see this as a humble request.
Again, great stuff and keep it up! 💪🏻
Thanks
Thank you, appreciate your support :)
Brilliant movie! Everything is so clearly explained-the best learning hour I've had this month! 🎉 Thanks a lot for sharing such amazing material! 🙌😊
I literally have been struggling to understand docker. But i did understood everything in just one hour. Thank you so much.