0:00 Intro 0:27 Running Multi-container Apps (intro) 1:16 Installing Docker Compose 2:30 Cleaning Up our Workspace (delete containers and images) 5:39 The Sample Web Application 8:50 JSON and YAML Formats 13:00 Creating a Compose File 21:58 Building Images 25:38 Starting and Stopping the Application 27:49 Docker Networking
@hitsharnam31772 жыл бұрын
Where is that bloody zip file?
@md.emranhossain94752 жыл бұрын
how can I get the ZIP file?
@levan7314 Жыл бұрын
where is zip? can you please link?
@leahaimovich7221 Жыл бұрын
thank you!! where is the zip file you mantion in 5:54?
@dougalvescpАй бұрын
It probably only exists on Mosh's course.
@kolcha7 ай бұрын
at 5:50 you mentioned the zip, there is not zip file link in the video description.
@RajKumar-ts7fk2 жыл бұрын
Finally the legend is back 😎
@programmingwithmosh2 жыл бұрын
Thank you! Please support me by liking and sharing this video. :)
@RajKumar-ts7fk2 жыл бұрын
Learning is a continuous process
@tanveerahmad59962 жыл бұрын
Absolutely mosh!..
@btrees2 жыл бұрын
Done :-)
@Sal-bm4mw2 жыл бұрын
@@programmingwithmosh Hello Sir! How can I Unsubscribe Code with Mosh? I've Completed My courses. Thanks a Lot!
@Sarah-zj7ve2 жыл бұрын
Just starting my coding journey and found your website and courses by accident. Couldn't be more thankful for what you have put together. You're such a gifted teacher! Learning SO much thanks to you!! :)
@edwinchiboko37377 ай бұрын
did you get the zip file?
@satadhi7 ай бұрын
@@edwinchiboko3737 yah dude where is the zip file
@isaacambi1914 Жыл бұрын
I only appreciate your lectures after going through the ones done by others. This guy is a genius teacher.
@edwinchiboko37377 ай бұрын
did you get the zip file
@janekschleicher96612 жыл бұрын
Regarding JSON vs YAML: It's not only about performance, but also about validation and security. If you, e.g. copy+move some lines from a JSON file to another location, most likely, the JSON will be corrupt and incorrect, and if not, it's very likely, the order didn't matter anywhere. That's good behaviour for anything that mainly computers operate, as such a copy+paste error easily happens while editing (or merging with git), but might not be reviewed by (many) humans, so might be undetected for a long time. In YAML, there is a good chance, randomly moving blocks around, the end result is a different, but still correct YAML. Indeed, that's such a common error, that for bigger projects you usually have to write an own linter for the yaml files checking e.g. if the keys are the expected ones. Regarding security: YAML specification is a bit bigger than XML, so it contains a lot of hard to implement and possible insecure options. That's why many first naive implementation of YAML parsers in programming languages were replaced over time by other parser only implementing a secure subset of YAML. (Or alternatively that's tackled by the custom linters you have to write anyway) There are some other subtle problems with YAML, e.g. your question of why you have to put "3.8" in quotes is because otherwise it would be detected as float und depending of whether can be represented in binary internally exactly or only close to it (indeed, 3.8f == 3.7999999523162841796875). The easiest way to enforce consistency is to demand that the version is always a string and not sometimes a string (3.8.0 == "3.8.0"), sometimes a float (3.8 == 3.7999999523162841796875) and sometimes an int (4 == 4). There are many more subtle possibilities to misinterpret the unquoted strings: Magic words like true or false are becoming booleans. A minus sign is very often interpreted as list start, several further characters like +, |, also have special meanings and so on. When in doubt, always put your strings into quotes, from a practical standpoint that the system should what we want to say in the yaml, even though readability is reduced. That's why, where high predictability is wanted, often enough different formats are used with less surprisings. E.g. HCL for Terraform, Programming languages for Pulumi, AWS CDK, ... or just toml/ini files. Anyway, the high readability, easy understanding and universal structure of YAML dominates pretty much every modern stack, so the solution to all the above problems are custom linters and performant YAML parsers (most often with an own subset or dialect). BTW, JSONs have disappointing also ambiguities that can even be exploited, e.g. the spec does not tell anything what should happen if a key is duplicated (which value to take). Different parsers handle that differently, and for the right combination, you can pass the validation done by the first parser to then inject some malicious (or just unintended, unwanted) behaviour to the second parser.
@weirnershittler6752 Жыл бұрын
Thanks for the info man
@adada8577 Жыл бұрын
0:33 multi container application 1:21 Docker compose 1:29 Docker compose Install 1:50 Docker compose to verify 2:20 Install Docker Compose 2:34 Cleaning Up Our Workspace 2:46 Remove Images 3:30 Remove Containers 4:16 Remove the Images 4:52 Troubleshoot 6:12 Run the application outside of Docker 8:32 Docker Compose YAML 9:01 Data JSON 10:31 Convert this to Yaml 12:56 Compose Files 13:16 Create a new compose file 14:18 Services 15:35 Docker File 17:19 Port mapping 20:06 Volumes 21:54 Build the Image 22:53 No cache 25:32 Starting the Application 25:41 Start an Application 27:33 Docker Compose Down 27:51 Networking in Docker 30:09 DNS Resolver 32:29 Viewing Logs
@KlausbergerYT Жыл бұрын
Thanks for that, was looking for this. @programmingwithmosh you should add this to your description.
@ScottHufford Жыл бұрын
@@KlausbergerYT too basic, see above.
@moibe1822 ай бұрын
Great explanation, clear and simple, but at the same time with very important details that no one else mentions. Simply the best.
2 жыл бұрын
You're the frickin' BEST teacher here, Mosh! Man, if I become a IT teacher one day, I hope I can be like you! You explain everything so clearly, you seem to understand what people need to get something. That comparision you did beetween json and yaml what GOD TIER. I bought you Redux course and IT WORTH EVERY CENT!
@nuttchokwittaya82252 жыл бұрын
How can you find the code?
@edwinchiboko37377 ай бұрын
did you get the zip file
@chandrashekharkulkarni29002 жыл бұрын
Where is the Zip file? As stated in this video at 5:47...
@LezaHDPlus2 жыл бұрын
my king mosh i love you so so much, you taught me how to be the best programmer big love from africa Ethiopia.
@programmingwithmosh2 жыл бұрын
Thank you! Please support me by liking and sharing this video. :)
@atharvbudhe67562 жыл бұрын
@@programmingwithmosh Where is the Zip file? 5:56 ????
@nothingwithoutthis50212 жыл бұрын
I really enjoy and appreciate all your work, you make the world better with your courses where you combine all necessary knowledge and tools for programming. I really love programming and, for sure, you made me love it! Peace and Love from Ukraine!❤️
@kimiatahernejad58332 жыл бұрын
Did you find the zip file?!!
@mrmxyzptlk81752 жыл бұрын
at 5:50 you say that below the video is a zip file, but there is no zip file.
@azamkhujaibragimov55972 жыл бұрын
I looked for the zip file as well but couldn't find
@potatocoder5090 Жыл бұрын
Hello Mosh! Thank you for making these amazing tutorials. Could you please link the zip file that you are referring to in this video so that we can follow along? Thank you!
@amirhoseinjavid8075 Жыл бұрын
so proud of You Mosh ! I'm from Iran , Hamedan too. !!
@IslahMusleh2 жыл бұрын
Where can I find the zip file for backend and frontend projects mentioned in the video?
@dmytroshchotkin29392 жыл бұрын
Same question here =(
@miked54442 жыл бұрын
I don't know either so replying here so hopefully I get a notification if someone tells you.
@oladipotimothy60072 жыл бұрын
Purchase the course
@jackq9197 Жыл бұрын
Thanks for this wonderful tutorial. I'm trying to follow however could not find the link to download the zip file.
@richakumari626710 ай бұрын
5:51 where is the zip file ?
@korleone722 жыл бұрын
I couldn't be more thankful for what you do!
@effectoryАй бұрын
Excellent tutorial, decluttered a bit my fuzzy knowledge about docker and docker compose
@alexanderacriptis5102 жыл бұрын
14:10 version must be a string because it's not a float number. Versions are multidot structures like 3.8.1
@Avvaball__my_Teleqram_id Жыл бұрын
👆send a direct message for support and guidance
@tajbir69692 жыл бұрын
If you are wondering why the version number is string, it's because version can be something like 3.8.1 which is not a number.
@faizanvanekar78822 жыл бұрын
It would be great if you could make a course on Devops tools ( Open source tools ) with the CI /CD Pipeline.
@andrewcox43242 жыл бұрын
just wondering where the zip file is located??
@edwinchiboko37377 ай бұрын
yeah... same here!
@DrWebDev2 жыл бұрын
Thank You Mosh! I'm gonna take your course!
@bachbachir39982 жыл бұрын
I hope you will continue and thank you very much you are my teacher
@ahsaanali45122 жыл бұрын
This video cleared my doubts, love the content.
@PremKumar-mt7ff2 жыл бұрын
5:48 - You said, you attached the zip file. It's not here. Thanks for the tutorial though.
@patrikwihlke41702 жыл бұрын
14:09 I think that could be to allow subversions like 3.8.2 etc which would not translate well as numbers.
@kg4lod2 жыл бұрын
Also, version is deprecated and ignored by docker. It's literally just a comment at this point. From Docker spec (emphasis in original): "A Compose implementation SHOULD NOT use this version to select an exact schema to validate the Compose file, but prefer the most recent schema at the time it has been designed."
@bombswabs3041 Жыл бұрын
Being a metalhead for decades. I just found my new favorite person and that guy's name is Mosh! \M/
@samuinsaurralde28662 жыл бұрын
Thanks for your excellent video!! Where I can download the files did you use in your examples?
@kazemgolabpars139 Жыл бұрын
The reason version has to be in quotes for docker-compose is that yaml spec parses numbers such as 3.0 to 3 and it breaks versioning.
@alienmars1 Жыл бұрын
Thank you for this tutorial, I was having problems until I saw your video thank you very much
@dannyroy8571 Жыл бұрын
Where's the ZIP file you were talking about attached belowed - i'm unable to find it
@tiberiuemanuelmelinte67272 жыл бұрын
Hello, I am not able to find the zip file with the app below the video. Could you help me, please?
@theghacker18242 жыл бұрын
You are the best teacher ever you explain once and I allredy understand.😄😄
@Ana-by1eu11 ай бұрын
Is there really a zip file attached below the video? I can't find it. Anyone? Thanks!
@nuttchokwittaya82252 жыл бұрын
Are you sharing the code for this tutorial anywhere?
@viniciuscardoso52712 жыл бұрын
Mosh we are so glad to see you're back
@mavrick_ben64882 жыл бұрын
Where is the source code? He said he was going to attach the zip file, but failed to find it here. Can someone please pin that out for me?
@sayedaliaqamousavi90647 ай бұрын
This is a part of his course on Udemy. So it is for those who paid on Udemy!
@brendalessaalmeida1213 Жыл бұрын
Amazing tutorial! i'm so tired of just stackOverflow codes without explain, thanks so much!
@skippo5662 жыл бұрын
I really enjoy ur videos with great understanding, I want to be a software developer but I don't know which programming language to learn first, and where to start 😶
@kitersrefuge7353 Жыл бұрын
Superb Mosh-jan. Thank you. I say this without prejudice. Content is fluid, it stops to point out significant landmarks without cluttering, and therefore the duration is also tolerable in this age of millisecond attention spans. I learned a lot and refreshed a lot.
@edwinchiboko37377 ай бұрын
did you get the zip file
@richard-xh2bo2 жыл бұрын
Hey Mosh, I don't know if I somehow missed the information, but where is the zip file you mentioned ?
@richard-xh2bo2 жыл бұрын
Can't find it anywhere
@tanveerahmad59962 жыл бұрын
Your are the best "mosh".. no one can beat you
@programmingwithmosh2 жыл бұрын
Thank you! Please support me by liking and sharing this video. :)
@nyakiomaina70772 жыл бұрын
what is the difference between docker-compose and docker compose.. I noticed that I'm getting an error when I use docker-compose but everything works well when I change it to docker compose .. without the dash
@felipecampos7202 жыл бұрын
Hi, Mosh! I can't find the attached file with the code. Is it available just in the full course?
@potatosoup8152 жыл бұрын
Agree
@QuantumFn2 жыл бұрын
I learned so much from your 6 hours python course .Thank you so much Mosh🙏
@pheellomolokoli73842 жыл бұрын
You're a life saver Mosh, this is just what I was looking for💯
@edwinchiboko37377 ай бұрын
did you get the zip file
@kywei7485 Жыл бұрын
Thank you Mosh, you always make good tutorial!
@RichardBronosky11 ай бұрын
This was one hell of a great video. You have a great teaching style. You are VERY clear in your explanations. And best of all, your screen captures are MOBILE-FRIENDLY. This video was missing the 1 thing I came looking for, but I am glad I watched the whole thing. Liked. Subscribed. Will look over your courses and purchase any that are remotely relevant to my needs. ☮❤🌈 PS: What I needed was how to do a "reverse port map/access". That is, I need initiate "from contain to host", instead of the "from host to container" that is explained EVERYWHERE. I have since learned this is done via `docker run --add-host=host.docker.internal:host-gateway` or in docker-compose.yaml `extra_hosts: ["host.docker.internal:host-gateway"]` Then [for example] your container can access the CUPS printer on your host machine via port: 631 on host: host.docker.internal
@odaakeenya Жыл бұрын
Thank You Mosh. This tutorial was great!
@vonderklaas2 жыл бұрын
Hey Mosh, thanks for this tutorial, very handy. BTW can you attach a zip file you mentioned, I would like to get my hands "dirty"
@kazimali9012 жыл бұрын
yes Please, have you found the zip file already?
@vonderklaas2 жыл бұрын
@@kazimali901 Nope dude
@alfredo.martins_codetyper9 ай бұрын
I think you would get better feedbacks (likes) If you had attached the zip file you mentioned.
@ScottHufford Жыл бұрын
Great stuff as always man! Here's a more comprehensive summary. Are you guys looking for a .zip file of the entire transcript? Or just a zipped file of the detailed breakdowns I've been putting here? Or both. As long as the video has a transcript enabled, it only takes a few seconds. W/o transcript enabled, it'd take 33:01 to do, as my AI would need to listen first. - what exactly do you want zipped? To the creator - not trying to jam you up or have any malicious intent by posting these. We will also use similar tools to a39'@@ harmful influencers, but that's not what this is. If you don't like these summaries on your content, delete them, let me know. Or copy/paste/edit it and call it yours, I don't own it. Or if you want even better ones... can do that too :). . [00:13](kzbin.info/www/bejne/fniZqnygj8ajiaM) 🎥 The tutorial introduces Docker Compose and its role in running multi-container applications. - [01:21](kzbin.info/www/bejne/fniZqnygj8ajiaM) 🛠 Docker Compose is built on top of Docker engine and simplifies the process of starting applications with multiple containers. - [02:34](kzbin.info/www/bejne/fniZqnygj8ajiaM) 🧽 Discusses ways to clean up your workspace in Docker, through removing images and containers. - [05:33](kzbin.info/www/bejne/fniZqnygj8ajiaM) 💾 Illustrates the use of Docker Compose through a real-world application with a frontend, backend, and a database. - [08:38](kzbin.info/www/bejne/fniZqnygj8ajiaM) 📑 Demonstrates how to use Compose files, YAML format and JSON to set up environment variables and run Docker Compose commands. - [13:17](kzbin.info/www/bejne/fniZqnygj8ajiaM) 🚀 Shows step by step, how to create a Docker Compose file from scratch and properly structure it. - [17:56](kzbin.info/www/bejne/fniZqnygj8ajiaM) 🌉 Talks about the importance of port mappings in Docker Compose for connecting your database engine. - [21:54](kzbin.info/www/bejne/fniZqnygj8ajiaM) 🏗 Docker Compose can be used to build images allowing more readability and organization of your services within Docker. - [22:09](kzbin.info/www/bejne/fniZqnygj8ajiaM) 🏷 Outlines that Docker Compose commands are similar to Docker commands, with the difference being they apply to the application as a whole.
@itshamiiid2 жыл бұрын
thanks Mosh. as always, great tutorial.
@azamkhujaibragimov55972 жыл бұрын
Where is that ZIP FILE located, sir?
@DevJams_OG Жыл бұрын
Thank you Mosh for giving out such great content. I'm trying to find the zip file but no luck. Could anyone help please?
@cran6166 Жыл бұрын
Same problem
@karimunnesanigar7440 Жыл бұрын
I haven't found too. Can anyone help?
@ferhanherrera35722 жыл бұрын
Impeccable lesson without a doubt... well just one : someone could share the zip file ?
@rajaramanv2 жыл бұрын
Where is the Docker image zip file you mentioned at 5:38, please? Couldn't find it.
@Hearty-fb2in2 жыл бұрын
Hi mosh I was seeing that the code on python was not with the @client.event part and I’m very confused could you help me on what to do
@eandresmo Жыл бұрын
Cant find the zip file he mentions at minute 5:50 Any way i can get it?
@maliheface33332 жыл бұрын
thank you so much for shaing your knowledge in an intersting way
@alishahidi1053 Жыл бұрын
im from iran and thanks for your very nice course
@dronefilmsgermany Жыл бұрын
Great Video. I am new to docker compose. I tried the same steps as per your docker compose file but gut this error. nable to prepare context: path "./frontend" not found does VS Code follow indentation?
@gunasamayamanthula71292 жыл бұрын
Happy to see you brother!! Love from India 😍
@bharat_thapa_2 жыл бұрын
I just want to let you know that your courses are top class. One improvement I would like to see in your course is the project you develop during the lectures. Even though *Vidly* is really a good project, I would like to see much complex project than that. Maybe an e-commerce project. Point is: you have tons of cool techniques to improve the quality of code which we can learn from your experience.
@tawfikelmouttaqi74152 жыл бұрын
Where can I find the Vidly zip file ?
@pjc8252 жыл бұрын
Flutter tutorial please, we have all been waiting so long for that 😀👍
@kevinguerrero59972 жыл бұрын
what a great content! so grateful to you
@mariusiordan542111 ай бұрын
The tutorial is amazing, but where is the zip file itself with the demo project?
@handsomevillian Жыл бұрын
Hi Sir we didnt find your code for practice .please share the link
@daleclements38849 ай бұрын
Hey Mosh, love your videos. When you demo the app you mention that the DB is pre-populated from a migration script automatically, but I never see how. What is causing that?
@andrewstribling438511 ай бұрын
How can one determine what the needs of the project are for a docker compose file? How do you know what the requirements are?
@juanete699 ай бұрын
How does one service know the port of another service? For example, how does api know that db is listening to port 27017? How can you specify it?
@mielushe2lheureux9392 жыл бұрын
Thank you so much for this precious tutorial. You talked about a zip file. Please, where can we get it so that we can follow up what you are teaching us? THANK you again!
@cran6166 Жыл бұрын
Do you get the answer yet?i still couldn’t find it as well
@danielmaldonado5954 Жыл бұрын
Congrats ! The course is awsome ! Thank you :)
@saileshacharya8065 Жыл бұрын
where is the zip file of that project which is used there?
@IanMbugua-g2k9 ай бұрын
did you manage to find the zip file for the project? I am trying to find it too wish he would have dropped a git URL
@5335resan2 жыл бұрын
I like your tuts very much dude. Simple but practical
@behdad09792 жыл бұрын
You're the best mosh ❤️💙
@rehmansaifmohd2 жыл бұрын
You're a Pro, Mosh! Thanks vm
@myominhann138 Жыл бұрын
Great explained. Thank you so much.
@liquidcode17042 жыл бұрын
Really appreciate your content Mosh!
@yavuzselimdogan98522 жыл бұрын
You are always awesome. Everybody loves you :)
@rohitghali2 жыл бұрын
5:48 Where? No link in the description... Please help.
@tinashefame15912 жыл бұрын
hi moshi, long time , you the best man
@mahekarim48212 жыл бұрын
Finally Mosh ❤️❤️❤️
@faaizsultan7301 Жыл бұрын
Where is the link to the project given above given at 5:55 ?
@_justinxu2 жыл бұрын
Unfortunately, most of the feature in this video is deprecated. Wish there's new video correspond to new docker compose version v2.x.
@anoopp2272 жыл бұрын
Thank you for this wonderful tutorial
@hazemsoussi53092 жыл бұрын
Great tutorial , that helped me well Thanks
@chrisojwang Жыл бұрын
Amazing tutorial
@ganeshkamtam22342 жыл бұрын
Really really it's great to see u on live ❤️❤️
@parkiiiiiiii2 жыл бұрын
Hi, what are your terminal configurations for the highlighted autocomplete? Thanks.
@NorthLoftier2 жыл бұрын
This guy is thug, everything is easy in his world. Thanks so much for all the effort Moch!
@harkiratsingh4947 Жыл бұрын
Please make a video showing dotnet backend , sql server and angular frontend in compose
@Microphunktv-jb3kj2 жыл бұрын
never used docker images before.. made me curious i have the same structure on something im working on atm.. backend folder and frontend.. how would i go about with docker and containers... when i would use a monorepo? like turborepo or Nx maybe it would be a good material for your next video? : )
@Avvaball__my_Teleqram_id Жыл бұрын
👆send a direct message for support and guidance
@therealleoman Жыл бұрын
Where can I find the zip file for this video's project?
@kipchickensout Жыл бұрын
I've seen a bunch of yaml files but none of them had hyphens at the start 🤔 Also when a file gets longer than 10 or 20 lines I find JSON waaaay easier to read because I always get lost in the indentation
@sudhanandabiswas74152 жыл бұрын
for networking, it saying "ping & ipconfig not found" while executing these command. I'm using .net core webapi project in docker. 🙁🙁
@sudhanandabiswas74152 жыл бұрын
it works now. required additional installation for ping utils.