Docker Compose Tutorial

Поделиться
HTML-код
  • Опубликовано: 4 окт 2024
  • Learn all about Docker Compose so you can orchestrate your services with confidence!
    Get the complete Docker course (zero to hero): bit.ly/3sO7Z5H
    Subscribe for more Docker tutorials like this: goo.gl/6PYaGF
    ⭐️ Want to learn more from me? Check out these links:
    Courses: codewithmosh.com
    Twitter: / moshhamedani
    Facebook: / programmingwithmosh
    Blog: programmingwith...
    #Docker #DevOps
    Docker is the de facto standard for building, shipping and running applications in a consistent manner. That's why most companies use it and are looking for developers with Docker skills. If you're looking for a career in software or DevOps engineering, you must have Docker on your resume. And not only that, you should know it well and be able to use it to effectively package and deploy your applications.

Комментарии • 426

  • @Sarah-zj7ve
    @Sarah-zj7ve 2 года назад +33

    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!! :)

    • @edwinchiboko3737
      @edwinchiboko3737 5 месяцев назад +1

      did you get the zip file?

    • @satadhi
      @satadhi 4 месяца назад

      @@edwinchiboko3737 yah dude where is the zip file

  • @RajKumar-ts7fk
    @RajKumar-ts7fk 2 года назад +53

    Finally the legend is back 😎

    • @programmingwithmosh
      @programmingwithmosh  2 года назад +15

      Thank you! Please support me by liking and sharing this video. :)

    • @RajKumar-ts7fk
      @RajKumar-ts7fk 2 года назад +4

      Learning is a continuous process

    • @tanveerahmad5996
      @tanveerahmad5996 2 года назад +3

      Absolutely mosh!..

    • @billvvoods
      @billvvoods 2 года назад +1

      Done :-)

    • @Sal-bm4mw
      @Sal-bm4mw 2 года назад

      @@programmingwithmosh Hello Sir! How can I Unsubscribe Code with Mosh? I've Completed My courses. Thanks a Lot!

  • @isaacambi1914
    @isaacambi1914 Год назад +6

    I only appreciate your lectures after going through the ones done by others. This guy is a genius teacher.

  • @kolcha
    @kolcha 5 месяцев назад +9

    at 5:50 you mentioned the zip, there is not zip file link in the video description.

  •  Год назад +5

    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!

  • @leahaimovich7221
    @leahaimovich7221 10 месяцев назад +25

    thank you!! where is the zip file you mantion in 5:54?

  • @LezaHDPlus
    @LezaHDPlus 2 года назад +3

    my king mosh i love you so so much, you taught me how to be the best programmer big love from africa Ethiopia.

    • @programmingwithmosh
      @programmingwithmosh  2 года назад +2

      Thank you! Please support me by liking and sharing this video. :)

    • @atharvbudhe6756
      @atharvbudhe6756 2 года назад +2

      @@programmingwithmosh Where is the Zip file? 5:56 ????

  • @nothingwithoutthis5021
    @nothingwithoutthis5021 2 года назад +16

    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!❤️

  • @bjjblog
    @bjjblog 2 года назад +57

    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

  • @janekschleicher9661
    @janekschleicher9661 Год назад +16

    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.

  • @korleone72
    @korleone72 Год назад +2

    I couldn't be more thankful for what you do!

  • @amirhoseinjavid8075
    @amirhoseinjavid8075 Год назад +1

    so proud of You Mosh ! I'm from Iran , Hamedan too. !!

  • @hydtechietalks3607
    @hydtechietalks3607 2 года назад

    You are AMAMAMAMAZING Mosh.. God Bless you for the free stuff!

  • @alienmars1
    @alienmars1 Год назад

    Thank you for this tutorial, I was having problems until I saw your video thank you very much

  • @tajbir6969
    @tajbir6969 2 года назад +1

    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.

  • @bombswabs3041
    @bombswabs3041 10 месяцев назад

    Being a metalhead for decades. I just found my new favorite person and that guy's name is Mosh! \M/

  • @ahsaanali4512
    @ahsaanali4512 2 года назад +1

    This video cleared my doubts, love the content.

  • @RoshanakRahimi-d1p
    @RoshanakRahimi-d1p Год назад

    thank you Mosh for your high quality and amazing tutorials. wish you the best.

  • @potatocoder5090
    @potatocoder5090 Год назад +11

    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!

  • @theghacker1824
    @theghacker1824 2 года назад

    You are the best teacher ever you explain once and I allredy understand.😄😄

  • @pheellomolokoli7384
    @pheellomolokoli7384 2 года назад +4

    You're a life saver Mosh, this is just what I was looking for💯

  • @kitersrefuge7353
    @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.

  • @kywei7485
    @kywei7485 11 месяцев назад

    Thank you Mosh, you always make good tutorial!

  • @DrWebDev
    @DrWebDev 2 года назад +1

    Thank You Mosh! I'm gonna take your course!

  • @jackq9197
    @jackq9197 Год назад +4

    Thanks for this wonderful tutorial.
    I'm trying to follow however could not find the link to download the zip file.

  • @skippo566
    @skippo566 2 года назад +1

    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 😶

  • @bachbachir3998
    @bachbachir3998 2 года назад

    I hope you will continue and thank you very much
    you are my teacher

  • @odaakeenya
    @odaakeenya 10 месяцев назад

    Thank You Mosh. This tutorial was great!

  • @maliheface3333
    @maliheface3333 2 года назад

    thank you so much for shaing your knowledge in an intersting way

  • @12B-m6l
    @12B-m6l 2 года назад

    good stuff. thank you. now the world needs your take on svelte!

  • @faizanvanekar7882
    @faizanvanekar7882 2 года назад +7

    It would be great if you could make a course on Devops tools ( Open source tools ) with the CI /CD Pipeline.

  • @brendalessaalmeida1213
    @brendalessaalmeida1213 Год назад

    Amazing tutorial! i'm so tired of just stackOverflow codes without explain, thanks so much!

  • @alfredo.martins_codetyper
    @alfredo.martins_codetyper 6 месяцев назад +2

    I think you would get better feedbacks (likes) If you had attached the zip file you mentioned.

  • @5335resan
    @5335resan 2 года назад +1

    I like your tuts very much dude. Simple but practical

  • @itshamiiid
    @itshamiiid Год назад +1

    thanks Mosh. as always, great tutorial.

  • @RichardBronosky
    @RichardBronosky 9 месяцев назад

    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

  • @viniciuscardoso5271
    @viniciuscardoso5271 2 года назад

    Mosh we are so glad to see you're back

  • @tanveerahmad5996
    @tanveerahmad5996 2 года назад

    Your are the best "mosh".. no one can beat you

    • @programmingwithmosh
      @programmingwithmosh  2 года назад

      Thank you! Please support me by liking and sharing this video. :)

  • @chandrashekharkulkarni2900
    @chandrashekharkulkarni2900 2 года назад +6

    Where is the Zip file? As stated in this video at 5:47...

  • @kazemgolabpars139
    @kazemgolabpars139 10 месяцев назад

    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.

  • @myominhann138
    @myominhann138 Год назад

    Great explained. Thank you so much.

  • @kevinguerrero5997
    @kevinguerrero5997 Год назад +1

    what a great content! so grateful to you

  • @QuantumFn
    @QuantumFn 2 года назад +9

    I learned so much from your 6 hours python course .Thank you so much Mosh🙏

  • @anoopp227
    @anoopp227 2 года назад

    Thank you for this wonderful tutorial

  • @richakumari6267
    @richakumari6267 7 месяцев назад +5

    5:51
    where is the zip file ?

  • @danielmaldonado5954
    @danielmaldonado5954 Год назад

    Congrats ! The course is awsome ! Thank you :)

  • @alishahidi1053
    @alishahidi1053 Год назад

    im from iran and thanks for your very nice course

  • @liquidcode1704
    @liquidcode1704 2 года назад

    Really appreciate your content Mosh!

  • @hazemsoussi5309
    @hazemsoussi5309 2 года назад

    Great tutorial , that helped me well
    Thanks

  • @leomysky
    @leomysky Год назад

    Thank you for the explanation

  • @samuinsaurralde2866
    @samuinsaurralde2866 Год назад +5

    Thanks for your excellent video!! Where I can download the files did you use in your examples?

  • @Hitesh10able
    @Hitesh10able 10 месяцев назад

    Very Very Thank Your videos are very good.

  • @paulclarke4099
    @paulclarke4099 2 года назад

    Flutter tutorial please, we have all been waiting so long for that 😀👍

  • @grahamstreet6537
    @grahamstreet6537 Год назад

    Fantastic course

  • @yavuzselimdogan9852
    @yavuzselimdogan9852 2 года назад

    You are always awesome. Everybody loves you :)

  • @chrisojwang
    @chrisojwang 10 месяцев назад

    Amazing tutorial

  • @bharat_thapa_
    @bharat_thapa_ 2 года назад +4

    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.

  • @gunasamayamanthula7129
    @gunasamayamanthula7129 2 года назад

    Happy to see you brother!! Love from India 😍

  • @mariusiordan5421
    @mariusiordan5421 9 месяцев назад +1

    The tutorial is amazing, but where is the zip file itself with the demo project?

  • @rehmansaifmohd
    @rehmansaifmohd 2 года назад

    You're a Pro, Mosh! Thanks vm

  • @andrewcox4324
    @andrewcox4324 Год назад +8

    just wondering where the zip file is located??

  • @mayankbharadwaj343
    @mayankbharadwaj343 2 года назад +5

    Hey Mosh, please make a course on Android studio and WordPress.

  • @AyCRanime
    @AyCRanime 2 года назад

    This was really helpful. Thank you.

  • @Sebastian-Wilder-01
    @Sebastian-Wilder-01 2 месяца назад

    very helpful

  • @BorisBrodski
    @BorisBrodski 2 года назад

    I love your tutorials

  • @ganeshkamtam2234
    @ganeshkamtam2234 2 года назад

    Really really it's great to see u on live ❤️❤️

  • @adada8577
    @adada8577 Год назад +6

    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
      @KlausbergerYT Год назад +2

      Thanks for that, was looking for this. @programmingwithmosh you should add this to your description.

    • @ScottHufford
      @ScottHufford Год назад

      @@KlausbergerYT too basic, see above.

  • @behdad0979
    @behdad0979 2 года назад

    You're the best mosh ❤️💙

  • @MrWeb-dev
    @MrWeb-dev 2 года назад

    You're an excellent tutor.

  • @TestAutomationTV
    @TestAutomationTV 11 месяцев назад

    Thanks for sharing, it was a useful video.

  • @Noor-Mohammed-S-248
    @Noor-Mohammed-S-248 2 года назад

    Need more videos on docker Thanks!

  • @DaliyTv
    @DaliyTv 2 года назад

    Thanks for this tutorial!!!

  • @mrmxyzptlk8175
    @mrmxyzptlk8175 Год назад +5

    at 5:50 you say that below the video is a zip file, but there is no zip file.

  • @CorryTerblanche
    @CorryTerblanche 2 года назад

    Great video, Thank you!

  • @tinashefame1591
    @tinashefame1591 2 года назад

    hi moshi, long time , you the best man

  • @mickaeljacquot3845
    @mickaeljacquot3845 Год назад

    Really great videos , well explained , just awesome !

  • @alexanderacriptis510
    @alexanderacriptis510 Год назад +2

    14:10 version must be a string because it's not a float number. Versions are multidot structures like 3.8.1

  • @anisprodhan1212
    @anisprodhan1212 2 года назад

    thank you mosh ...lovely !!

  • @parazeni
    @parazeni Год назад

    Love it, I’m being stuck for 2 weeks

  • @trivikramanand871
    @trivikramanand871 2 года назад +3

    woww!! Thank you so much Mosh for such great content, I'm a 1st yr CSE college student in India and request you to please make a OOPs in c++/ python !!, I saw ur 7min video on OOPs and I really understood it very well

    • @osunwoyeadedapo4634
      @osunwoyeadedapo4634 2 года назад

      Please can you code for crypto arbitrage for different exchanges?

    • @NOTNULLBG
      @NOTNULLBG 2 года назад

      How is the experience at a programming college? I also want to go the path of coding (I'm indian).

  • @mahekarim4821
    @mahekarim4821 2 года назад

    Finally Mosh ❤️❤️❤️

  • @NoahLoftier
    @NoahLoftier 2 года назад

    This guy is thug, everything is easy in his world. Thanks so much for all the effort Moch!

  • @EH-yl5ex
    @EH-yl5ex 2 года назад

    Thanks, very useful. Well done.

  • @468hitman
    @468hitman 2 года назад

    Very good tutorial

  • @IslahMusleh
    @IslahMusleh 2 года назад +12

    Where can I find the zip file for backend and frontend projects mentioned in the video?

    • @dmytroshchotkin2939
      @dmytroshchotkin2939 2 года назад +4

      Same question here =(

    • @miked5444
      @miked5444 2 года назад +3

      I don't know either so replying here so hopefully I get a notification if someone tells you.

    • @oladipotimothy6007
      @oladipotimothy6007 2 года назад +1

      Purchase the course

  • @guliyevshahriyar
    @guliyevshahriyar Год назад

    Nice tutorial, thanks. It's full of valuable information.

  • @yashindane2844
    @yashindane2844 2 года назад

    nicely explained

  • @KyiazovFR
    @KyiazovFR 2 года назад +2

    Hey Mosh

  • @mavrick_ben6488
    @mavrick_ben6488 2 года назад +13

    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?

    • @sayedaliaqamousavi9064
      @sayedaliaqamousavi9064 5 месяцев назад +1

      This is a part of his course on Udemy. So it is for those who paid on Udemy!

  • @PremKumar-mt7ff
    @PremKumar-mt7ff 2 года назад +2

    5:48 - You said, you attached the zip file. It's not here.
    Thanks for the tutorial though.

  • @anikofficial553
    @anikofficial553 2 года назад

    Helpful , thanks

  • @tragchamp453
    @tragchamp453 2 года назад

    I was waiting for this ep. and enjoyed it!!!!! :DDDDD
    But can you please make a c++ beginner tutorial?

  • @mielushe2lheureux939
    @mielushe2lheureux939 Год назад +1

    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
      @cran6166 Год назад

      Do you get the answer yet?i still couldn’t find it as well

  • @nuttchokwittaya8225
    @nuttchokwittaya8225 Год назад +6

    Are you sharing the code for this tutorial anywhere?

  • @hamidja1537
    @hamidja1537 2 года назад

    Thanks for sharing

  • @sathvikmalgikar2842
    @sathvikmalgikar2842 9 месяцев назад

    You are awesome 🔥🔥

  • @vonderklaas
    @vonderklaas 2 года назад +4

    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"

    • @kazimali901
      @kazimali901 2 года назад +2

      yes Please, have you found the zip file already?

    • @vonderklaas
      @vonderklaas 2 года назад +1

      @@kazimali901 Nope dude

  • @nekovolta2
    @nekovolta2 10 месяцев назад +2

    where is the ZIP file to follow the examples?

  • @richard-xh2bo
    @richard-xh2bo 2 года назад +3

    Hey Mosh, I don't know if I somehow missed the information, but where is the zip file you mentioned ?

  • @nanayaw7159
    @nanayaw7159 2 года назад

    Great job 👍.