When I first saw that this course was from you, I bought it instantly from a crowded bus on my phone. I didn't even search for other alternatives because I think we are very like-minded when it comes to computer science. I feel like there aren't many developers like you who are just curios about how things work and want to have a clear understanding of the technologies they're using. I just hate when I have to quickly learn some new technology and not have the time to study it; only when things break you realize how little you know about it. I barely started section 2 and already love it. I'll definitely make sure to leave a review when I'm done.
Hussein might be the best teacher I've come across. Whenever he speaks, I learn something new every damn time. +1 to all the people commenting for the K8s series, I'd even pay for a course on K8s if it was exclusively taught by you.
I've recently learned more about docker and worked with docker compose and network but I had this question that how could two container in different network communicate to eachother and I couldn't figure it out until I've seen your video and finally I got it. you're really cool and the concepts that you explain are really the hard things that one could think but not understand easily. Excellent work. please make more videos like this. Thank you Hussein Nasser!🙏
First thing first.. I have followed your tutorial command by command and it's very amazing to know the things by having hands on. Secondly, please continue this as the series/playlist and also please include K8s Networking as well(I know it will take huge amount of efforts but that will be really appreciable).
For everyone looking at the Dockerfile. You should avoid creating too many stages within your docker file to keep your image small. Each command creates an image that you can explore (i.e) you can even intermediate images that lead to the creation of your docker image (like visiting your image after installing iproute2).
Of course we can do that! But Best practices can be followed at the production level but at the tutorial level beginners also might watch this stuff do for the simplicity he did that (I think)
Awesome video as usual. One request, can you also add links to artice or documentation or basically what method you follwed to learn what you teach so that we will also get some idea on how to start learning these concepts on our own
Oh this is excellent. Going on my watchlist for work for Monday! Thank you for providing such practical and high quality content. You're providing such strong backbone references for the backend developer knowledge base.
Hussein, I am so happy that I found your channel. I listen to your podcast while I go for walking. Got your udemy course as well. Hope to get more such vids from you. You are a Genius ❤
If you want to know how something works,you need to get your hands dirty. Thanks for the video. I never tried doing something like that, adding more info to my brain. Blessings.
What actually is the "bridge" in Docker? Is it the same thing conceptually as en.wikipedia.org/wiki/Network_bridge? Does it connect a host to the containers on a level-2 layer of OSI? If so, how does a bridge have an IP address? That Docker bridge sounds more like a router. @Hussein, could you explain that?
you have to make the network attachable to new containers with the ‘--attachable’ option when you want to add services to an existing external network. And with overlay network options it gives you more flexibility. Especially when networking containers to swarm services. Edit: that is if i understand your frustration with restrictive docker. Im a docker shill…
Hey , great tutorial ! Could you please 3xplain how gw container was able to forward the packets without any further configuration on the container ? I understand it has interfaces in both subnets and the rtb changes for s1 and s2 to use gw as gateway for those respective cidr ranges , but I still don't understand how it was able to automatically for the packets ...
Hey Hussein - Can you make a video on how to look at the Github code of large open source modules? For ex: If I want to understand how does the get method works under the hood in the node js module, what steps I need to go through and land at the right place.
1. Again and again, thanks for your always-great content 2. Isn't the security issue with exposing the BE network to the FE network still there because of using the gateway container? How to mitigate this ? 3. Looks like your visit to Bahrain added more if the Arabic taste to your accent with all the stressed 'R's. 😂 .. Hope you visit Egypt anytime soon and sure I'll be so happy to meet you 😃 4. I have very low experience with stuf written in yaml but I find it much easier and cleaner than JSON, why don't you like it ?
As Hussein highlighted in video unlike Mac or Windows, Docker do not run on hypervisor on Linux so on Linux some of command results might change. Its normal.
Mr.Hussein, if you happen to have a time could you please make a video or a paid course on how to design and build highload backend architecture and all that kind of stuff? For example how to build architecture which could support 10-50k requests per second, thanks for your work!
great tutorial! I've learn a lot of networking watching your videos, thank you. About the DNS, is it possible to add an IP route rule to use the gate way container as the DNS for both S1 and s2?
Hi hussain, could it be possible if we don't create the gw container. But instead we create just the gw network and attach both of these containers s1 and s2 to that network?
For local develpment I need to allow my host network to know/see and bridge network. How can I configure my network to do that? I use Ubuntu 22.04 and in Ubuntu 20.04 I can do that by default. In my case I have a "mybridgenetwork" and have a defined ipam. My containers share this network and each container has a specific IPV4 IP. From my host, I configure my hosts file to redirect the containers IP to specific URL (it's a complex environment). Now in Ubuntu 22.04 I can't do that 😢 Someone have a magic trick?
Thanks, Hussain, amazing as always! - One thing I'd mention is that I can run apt-get commands by exec the container as root user "sudo docker exec -u 0 -it bash" if you do not want to install them in the Dockerfile. - Can you explain how to allowt he container call the localhost, in my case I want the application in my container to interact with API that runs locally in my machine
Hey Hussein Thanks for this content. I have a question, why you never gire a comparaison between open source database like postgresql, mysql and property database like sql server, may be I'm wrong ? 😊
you teaching docker network or networking in general? im watching u at 1.5x and still going nuts with u going over and over again about simple general networking concepts.. 🤬
Networking is not simple. He talks everything perfect and very deeply. If you think you know this all of stuff just tell me the answer of my one question about Networking : What is the differences between Network address and Broadcast address in Wifi Router? Can we skip any one? Let's check your knowledge.
@@DhavalAhir10 this is my point, if you dont know the basics about networks, you shouldnt be here.. this was supposed to be about what are the implementations adopted by docker
@@DhavalAhir10 btw, as the name implies, a broadcast address is a one to many address, anycast and multicast are the names you looking for, wifi or not, networks IN GENERAL use them
Learn the fundamentals of network engineering, get my udemy course click the link for a discount coupon
network.husseinnasser.com
When I first saw that this course was from you, I bought it instantly from a crowded bus on my phone. I didn't even search for other alternatives because I think we are very like-minded when it comes to computer science. I feel like there aren't many developers like you who are just curios about how things work and want to have a clear understanding of the technologies they're using. I just hate when I have to quickly learn some new technology and not have the time to study it; only when things break you realize how little you know about it.
I barely started section 2 and already love it. I'll definitely make sure to leave a review when I'm done.
@@ozoniuss1463 thank you! And I agree learning a new tech is not hard, understanding how actually it works is what interests me.
Hey, Hussein. Can you also make a video on k8s architecture and it's networking?
+1 for this
+1
+1
+1
👍 good idea
Hussein might be the best teacher I've come across. Whenever he speaks, I learn something new every damn time. +1 to all the people commenting for the K8s series, I'd even pay for a course on K8s if it was exclusively taught by you.
I've recently learned more about docker and worked with docker compose and network but I had this question that how could two container in different network communicate to eachother and I couldn't figure it out until I've seen your video and finally I got it. you're really cool and the concepts that you explain are really the hard things that one could think but not understand easily. Excellent work. please make more videos like this. Thank you Hussein Nasser!🙏
The fun while exampling that means he really enjoys and loves what he do .. really appreciate man great video even after 1 year.
First thing first.. I have followed your tutorial command by command and it's very amazing to know the things by having hands on.
Secondly, please continue this as the series/playlist and also please include K8s Networking as well(I know it will take huge amount of efforts but that will be really appreciable).
One of my most cherished TH-camrs. Dude you are awesome for all that you teach the community.
One of the best video, a tiny error in image diagram where you swap the network frontend from backend and vice-versa
For everyone looking at the Dockerfile.
You should avoid creating too many stages within your docker file to keep your image small.
Each command creates an image that you can explore (i.e) you can even intermediate images that lead to the creation of your docker image (like visiting your image after installing iproute2).
Of course we can do that! But Best practices can be followed at the production level but at the tutorial level beginners also might watch this stuff do for the simplicity he did that (I think)
Awesome video as usual. One request, can you also add links to artice or documentation or basically what method you follwed to learn what you teach so that we will also get some idea on how to start learning these concepts on our own
that's the magic
Oh this is excellent. Going on my watchlist for work for Monday!
Thank you for providing such practical and high quality content. You're providing such strong backbone references for the backend developer knowledge base.
Enjoyed every min of this video!!! This was FIRE 🔥, especially how you narrated the vid was funny. Kept me engaged 👌🏾
Great stuff Hussein. Thanks for putting this video together. Looking forward to your next docker video.
Thank you Sir! Keep the awesome work. This almost 50 minutes video went so fast, didn't even blink :-)
Love your videos Hussein, you tackle everything from a first principle perspective.
I used ubuntu before and still got confused about networking when using docker in macos. This is very useful
Hussein, I am so happy that I found your channel. I listen to your podcast while I go for walking. Got your udemy course as well. Hope to get more such vids from you. You are a Genius ❤
Thx Hussein, this is one of the best Docker Networking videos 👍
3:40
Docker doesnt spin up a vm. It uses namespaces feature in linux to spin up containers.
300k subs... congrats and keep going HN !
Thank you very much for making the video. Learned very important thing about networking.
34:40 that one annoying Mosquito when you trying to sleep
This video is awesome! very very detailed explanation about how container network works.
Great video Hussein. Learned a lot
Really enjoyable content and very high quality, many things got clarified along the way! Thanks for the clarifications!
I just found this amazing channel, you are impressive. Subscribed!
Love these deeep dives, there are so rare on youtube ;)
1010/1010 Video. Really amazing work :)
Awesome video Hussein. Would love to see some content for Docker Compose too, as that's mainly how I work with Docker
The video i was looking for a long time ago, Thanks alot
Great explanation in addition for networking articles
For propagating dns, you might just have to add the entry of other network's dns server to /etc/resolve.conf to container in first network
If you want to know how something works,you need to get your hands dirty. Thanks for the video. I never tried doing something like that, adding more info to my brain. Blessings.
Your videos are a treasure trove. Thank you
Awesome video !
very nice and simple to understand !
Dude, take a bow!
22:42 "I don't know if it stands for interactive terminal. This is how I remember stuff. You're going to see weird stuff." that's funny!
25:32 "they can curl each other!... curl each other?"
This was amazing, really enjoyed the tutorial
best video for docker networking
Awesome video, Hussein! Thank you so much!
What actually is the "bridge" in Docker? Is it the same thing conceptually as en.wikipedia.org/wiki/Network_bridge? Does it connect a host to the containers on a level-2 layer of OSI? If so, how does a bridge have an IP address? That Docker bridge sounds more like a router.
@Hussein, could you explain that?
you have to make the network attachable to new containers with the ‘--attachable’ option when you want to add services to an existing external network. And with overlay network options it gives you more flexibility. Especially when networking containers to swarm services.
Edit: that is if i understand your frustration with restrictive docker. Im a docker shill…
22:10 The only course that the servers are called "these suckers" 😂
Hey , great tutorial ! Could you please 3xplain how gw container was able to forward the packets without any further configuration on the container ? I understand it has interfaces in both subnets and the rtb changes for s1 and s2 to use gw as gateway for those respective cidr ranges , but I still don't understand how it was able to automatically for the packets ...
This is a really excellent video. thank you
Hey Hussein - Can you make a video on how to look at the Github code of large open source modules? For ex: If I want to understand how does the get method works under the hood in the node js module, what steps I need to go through and land at the right place.
Why does your command prompt say nhttpd? Are you not building the container on your local machine?
thanks Hussein 👍 it's awesome 👌
But can you have an isolated network that can't directly connect to the internet through the host bridge but then use another network as gateway?
thank you so much, really enjoyed☺
1. Again and again, thanks for your always-great content
2. Isn't the security issue with exposing the BE network to the FE network still there because of using the gateway container? How to mitigate this ?
3. Looks like your visit to Bahrain added more if the Arabic taste to your accent with all the stressed 'R's. 😂 .. Hope you visit Egypt anytime soon and sure I'll be so happy to meet you 😃
4. I have very low experience with stuf written in yaml but I find it much easier and cleaner than JSON, why don't you like it ?
Awesome 🥰💫
Great!!! thank you very much for the tutorial
As Hussein highlighted in video unlike Mac or Windows, Docker do not run on hypervisor on Linux so on Linux some of command results might change. Its normal.
Mr.Hussein, if you happen to have a time could you please make a video or a paid course on how to design and build highload backend architecture and all that kind of stuff? For example how to build architecture which could support 10-50k requests per second, thanks for your work!
is that how docker-compose does it in the background?
Good job Hussein ... do something on k8
great tutorial! I've learn a lot of networking watching your videos, thank you. About the DNS, is it possible to add an IP route rule to use the gate way container as the DNS for both S1 and s2?
Hi hussain, could it be possible if we don't create the gw container. But instead we create just the gw network and attach both of these containers s1 and s2 to that network?
For local develpment I need to allow my host network to know/see and bridge network. How can I configure my network to do that? I use Ubuntu 22.04 and in Ubuntu 20.04 I can do that by default.
In my case I have a "mybridgenetwork" and have a defined ipam. My containers share this network and each container has a specific IPV4 IP.
From my host, I configure my hosts file to redirect the containers IP to specific URL (it's a complex environment).
Now in Ubuntu 22.04 I can't do that 😢
Someone have a magic trick?
this was such a nice tutorial
can you make video about running virtual router inside docker container and use it to route physical local network? maybe openwrt
Awesome Hussein
Awesome content 👍🏽
Can you make a video on - Docker & Microservices
What about accessing localhost from a container ? In linux it’s ok but not mac and windows. Can someone explain that ?
Thanks, Hussain, amazing as always!
- One thing I'd mention is that I can run apt-get commands by exec the container as root user "sudo docker exec -u 0 -it bash" if you do not want to install them in the Dockerfile.
- Can you explain how to allowt he container call the localhost, in my case I want the application in my container to interact with API that runs locally in my machine
I learned so much ! thanks
Man, you are awesome!!!
Hey Hussein
Thanks for this content.
I have a question, why you never gire a comparaison between open source database like postgresql, mysql and property database like sql server, may be I'm wrong ? 😊
3:30 Docker0
37:05 router*
Please make videos on k8s
Good tnx habibi 🙂
Awesome, thank you
Kubernetes Networking please!
Waww new TH-cam app
fantastic
Can you make video about whatsapp outage, please?
Quick tutorial 50 mins long?
thank u so much
Hey, what happened to whatsapp yesterday?
Thanks
you teaching docker network or networking in general? im watching u at 1.5x and still going nuts with u going over and over again about simple general networking concepts.. 🤬
Networking is not simple.
He talks everything perfect and very deeply.
If you think you know this all of stuff just tell me the answer of my one question about Networking :
What is the differences between Network address and Broadcast address in Wifi Router?
Can we skip any one?
Let's check your knowledge.
@@DhavalAhir10 this is my point, if you dont know the basics about networks, you shouldnt be here.. this was supposed to be about what are the implementations adopted by docker
@@DhavalAhir10 hes trying to explain how networks work instead....
@@DhavalAhir10 btw, as the name implies, a broadcast address is a one to many address, anycast and multicast are the names you looking for, wifi or not, networks IN GENERAL use them
You are noob bro.
+ 1
Hahaha what a joke. Run some commands for a week, then make a crash course ahahahahhhahahaha
back to islam brother
😂😂😂
Pleae K8S networking tutorials and general k8s tutorials Save Our Souls Nasser!! ❤😢😢🥺🥺🥹🥹