Docker Compose Tutorial - Docker in Practice || Docker Tutorial 9

Поділитися
Вставка
  • Опубліковано 8 вер 2024

КОМЕНТАРІ • 140

  • @StormWolf01
    @StormWolf01 4 роки тому +56

    After searching "docker compose tutorial", i was hesitating, not knowing which tutorial to watch. Then i saw your video and i clicked. I've watched a lot of your toturials and I trust you, so i choose to watch your video with 8k views over that other guy with 850k views. You always explain things well.

    • @TechWorldwithNana
      @TechWorldwithNana  4 роки тому +2

      That is so great to hear! 😊 Thank you so much for your support!

    • @Sudeep369
      @Sudeep369 Рік тому

      ​@@TechWorldwithNana I am getting an error "Additional properties are not allowed". And in the .yaml file, "services" is having an errr like "Property services is not allowed". Could you please help.

  • @moss1098
    @moss1098 2 роки тому +4

    Great tutorial series!
    Adding "restart: always" to the mongo-express part of the yaml fixed a start-up error for me where mongo-express would exit if mongo wasn't ready for it.

    • @colofthedead6101
      @colofthedead6101 2 роки тому

      Thanks - I was trying all sorts of things to get this to work!

  • @mohan6244
    @mohan6244 4 роки тому +29

    This is the best tutorial to understand docker very easily. Thank you very much for these videos. 🙏

    • @TechWorldwithNana
      @TechWorldwithNana  4 роки тому +2

      You're welcome, glad the videos are so helpful :) Would appreciate your support by sharing my videos 🙂💙

  • @carlellis9647
    @carlellis9647 2 роки тому +10

    Once again Nana has put together another absolutely brilliant video. I have learned more about Docker from her than any other source. She has a wonderful talent for explaininng concepts clearly and compreshensively.
    Keep up the good work Nana, what you do a a wonderful gift to developers all over the world. :)

  • @abhishekrajput4656
    @abhishekrajput4656 Рік тому +2

    Nana, you make everything so simple.

  • @TechWorldwithNana
    @TechWorldwithNana  4 роки тому +8

    0:07 - What is Docker Compose?
    1:22 - docker run commands VS docker compose
    5:05 - How to use it? - Create the Docker Compose File (Demo)
    7:25 - Docker Networking in Docker Compose
    👉🏼 For any questions/issues/feedback, please leave me a comment and I will get back to you as soon as possible.
    👉🏼 Also please let me know what you want to learn about Docker & Kubernetes.
    Also please don't forget to subscribe and give me a thumbs up if you liked my video 🤓

  • @mirrormirage0
    @mirrormirage0 4 роки тому +11

    Thank you for this! Clear explanation.

  • @chideraezenekwe461
    @chideraezenekwe461 2 місяці тому

    your channel as saved me SO much frustration, thank you!

  • @thumpanekolla2661
    @thumpanekolla2661 3 роки тому +1

    Nana is THE Angel of DevOps. Hats off for your effort !.

  • @jaimecarranza2509
    @jaimecarranza2509 4 місяці тому

    I needed to review some conceps and I am glad that I came back to this amazing video. Thanks a lot Nana.

  • @janphillips7177
    @janphillips7177 2 роки тому +3

    I like how clear, straightforward and easy to understand you make this. It makes me think you have a really good understanding of how this works! Thank you

  • @ekeneidiagbor4678
    @ekeneidiagbor4678 10 місяців тому

    Nana, you are turning me into a DevOps guru. Thanks you so much for all your brilliant videos.

  • @AnandKumar-dc2bf
    @AnandKumar-dc2bf 4 роки тому +2

    Excellent explanation. I would rate 5/5 for this video..

  • @captainfuture2882
    @captainfuture2882 2 роки тому +3

    This explanation is so much better most of the other ones on UA-cam. Thank you!

  • @nully.emptier
    @nully.emptier 2 роки тому

    this is what I needed, transission from cli commands to config file, many thanks for great tutorial

  • @bhupenderbhardwaj6991
    @bhupenderbhardwaj6991 3 роки тому

    Whenever I have a complex concept to learn "TechWorld with Nana" is my last resort and you never disappoint me !! This tutorial is yet again a saviour !!

  • @ankur3204
    @ankur3204 4 роки тому +2

    Thanks
    Awesome.

  • @kakhatezelashvili3368
    @kakhatezelashvili3368 Рік тому

    I am so proud that you are Georgian ! Hats off :) Docker topics explained the simplest possible way. What a quality, what an explanation. Wish you all the best👍👍👍

  • @milad8436
    @milad8436 Рік тому

    Very well explained. I learnt Docker with all its tools from you completely. Thank you so much

  • @sshbk5878
    @sshbk5878 3 роки тому

    Thank you, Nana! May God bless you!

  • @zaibakhanum203
    @zaibakhanum203 2 роки тому

    Mam trust me u r clearing all the concepts which i was struggling to understand for such a long time..thank u soo much..

  • @daniel66-dd
    @daniel66-dd 3 роки тому

    You explained docker-compose better than anyone else, you make it crystal clear

  • @omidsarei3718
    @omidsarei3718 3 роки тому

    I have watched lots of tutorials about docker,docker-compose and volumes then found out she explained everything way better than those i have watched so far.appreciate it

  • @Lunolux
    @Lunolux Рік тому

    that some great video here, i cant stop watching, very well explained thx

  • @milanthumar2747
    @milanthumar2747 4 роки тому +2

    Hi Nana, You presented really good way. The material and presenting skill is really special to me.
    I would like to learn how exactly I can make presentation like you. Can you teach me same?

    • @TechWorldwithNana
      @TechWorldwithNana  4 роки тому

      Thanks Milan, do you mean the video editing? I do these with Screenflow :)

    • @milanthumar2747
      @milanthumar2747 4 роки тому

      very nice can you teach me in a session how to create presentation and video what you doing very nicely

  • @stallman3738
    @stallman3738 8 місяців тому +1

    Nana, Would you please upload a tutorial video about Docker Swarm on UA-cam. Thanks.

  • @brainattack11
    @brainattack11 Рік тому

    Thank you vary much for your tutorials! They are very helpful for beginners like me)

  • @superspectator123
    @superspectator123 4 роки тому +1

    Looking forward to the next videos.

  • @jordancode
    @jordancode Рік тому

    Amazing video, as always.

  • @lorenzomijorus
    @lorenzomijorus 2 роки тому

    thank you, very useful
    quick start guide

  • @jatinhabibkar
    @jatinhabibkar 3 роки тому

    Amazing really u first explained the commands to create images and networks and then u introduce the yaml file it just hit the sweat spot on my brain thanks for this amazing series.

  • @bishalgautam3874
    @bishalgautam3874 2 роки тому

    Nicely explained 👍👍👍

  • @Poqonos
    @Poqonos 4 роки тому +5

    Thank you for the great tutorial series. Is there any way you can specify container and network name in docker-compose instead of defaults

    • @TechWorldwithNana
      @TechWorldwithNana  4 роки тому +7

      Thanks! sure, you can add your own network name is docker-compose. here is an example:
      version: '2'
      services:
      postgresql:
      image: postgres:9.6.17
      ...
      networks:
      - my-network-name
      postgresql-test:
      image: postgres:9.6.17
      ...
      networks:
      - my-network-name
      networks:
      my-network-name:
      When you execute docker-compose up, you can check:
      1. docker network ls -> that the network was created
      2. docker network inspect my-network-name -> that the containers are running in that network
      Hope this helps!

  • @Weirlive
    @Weirlive 3 роки тому +1

    this was a great tutorial, thank you!!!

  • @RyuZaKi1925
    @RyuZaKi1925 2 роки тому

    Very clear explanation. Best series saw on Docker. Keep going!

  • @meowcula
    @meowcula 2 роки тому

    That's for this. It was concise and easy to follow.

  • @kipitrash9403
    @kipitrash9403 4 роки тому +1

    You have great tutorials. Thank you, that is all.

  • @hamidja1537
    @hamidja1537 2 роки тому

    Thanks for sharing

  • @HemangJoshi
    @HemangJoshi 4 роки тому +1

    very good video maam...

  • @_______6398
    @_______6398 3 роки тому +1

    Hi Nana,
    Thanks for the awesome vid. I have a pretty specific question. What is the best standard to follow for the given situation:
    - I have a dockerfile in one GitHub repo
    - 2nd dockerfile in another GitHub repo
    What’s the best practice to follow when I want both of these remote dockerfiles to be included in the same yaml but want to not just spin up both containers thru docker-compose yaml, but also rebuild each remote dockerfile with using the latest code base from each dockerfile’s respective remote repo.
    Locally, I understand this can be done using: docker-compose up - - build
    But how can I achieve this to only rebuild each individual image from their respective remote GitHub repo dockerfile based on the REMOTE GitHub repos code base?
    I know that’s a lot but would really appreciate your input! Keep up these videos btw super helpful 😁 thanks!

    • @cosmos4427
      @cosmos4427 2 роки тому

      1.You can create a GitHub action workflow in any one of the two repos,
      2.clone both repos in that action,
      3. then you can use docker build action to build two images from your two repos and tag them as latest always,also push them if you have a container registry.
      4.Then specify the same images in compose file with version latest. And spin them up to your vm.

  • @paraskh007
    @paraskh007 4 роки тому +1

    How to add "wait" logic in compose?
    Hi Nana. You mentioned in video about we can add wait logic if there are multiple containers and dependency. Can you please explain it in detail or with an example?
    Thanking you in advance for such simple way explaining complex things.

  • @pramodkumar-hi3hn
    @pramodkumar-hi3hn 4 роки тому +1

    Thank you Mam

  • @EliasAbuZolof
    @EliasAbuZolof 2 роки тому +2

    Hey Nana after trying to the apply the same fields on docker compose file I got an error, then I fixed the file as below:
    version: '3'
    services:
    mongo:
    image: mongo
    ports:
    - 27017:27017
    environment:
    - ME_CONFIG_MONGODB_ADMINUSERNAME=admin
    - ME_CONFIG_MONGODB_ADMINPASSWORD=admin
    mongo-express:
    image: mongo-express
    restart: always
    links:
    - mongo
    ports:
    - 8080:8081
    environment:
    - ME_CONFIG_MONGODB_ADMINUSERNAME=admin
    - ME_CONFIG_MONGODB_ADMINPASSWORD=admin

  • @amnashome5650
    @amnashome5650 Рік тому

    Thank you Nana for the wonderful explanation. I watched all the previous videos so it's more clear from commands to docker-compose. I have one query regarding the container name the docker-compose that is creating. In the yaml file, we specified the name as mongodb, and then docker-compose created the container with that name along with some suffix and prefix. Could you please give me more details on how it's generating that prefix and suffix?

  • @anushavengsarkar6299
    @anushavengsarkar6299 3 роки тому

    Thanks for that nice explanation about docker with examples. However it would be helpful if you can put more details around how to control startup and shutdown order in docker Compose". Thanks in advance.

  • @daviddonadze221
    @daviddonadze221 3 роки тому

    Thank u so much

  • @jonno9891
    @jonno9891 3 роки тому

    Nice one.

  • @usmannajeeb3820
    @usmannajeeb3820 4 роки тому +2

    Each video is more amazing then the previous one!

  • @priyankverma7434
    @priyankverma7434 9 місяців тому

    Can you please update the video to show the use with Docker Compose version 3.1? I got so many errors and finally made it work by finally going through certain documentations and other stuff.

  • @gayathrichakravarthy1056
    @gayathrichakravarthy1056 3 роки тому

    Thank you for this great intro - helps me to immensely wrap my head around something I am picking at work. I was wondering if you could help understand what context means within a compose file? Seems to me like a pointer to another dockerfile? Many thanks

  • @ashishmishra1212
    @ashishmishra1212 3 роки тому

    Thank you so much great tutorials series, I have tried to work for myself, but facing an issue with the mongo express. Suppose I have run the express with port 8081 not working a second time with the same port, Any suggestion for the same?

  • @elmokhliss4852
    @elmokhliss4852 4 роки тому +1

    Thanks

  • @tyagisong
    @tyagisong 2 роки тому

    brilliant

  • @mahmoudfadaly8074
    @mahmoudfadaly8074 2 місяці тому

    amazing

  • @Deimosster
    @Deimosster 4 роки тому +1

    Keep it up! Great Job!

  • @shivashrestha3781
    @shivashrestha3781 3 роки тому

    wow very much helpful thank you!!!

  • @YL-pl1ek
    @YL-pl1ek 2 роки тому +1

    Cool channel like this.....
    so I will disable my ad blocker on this channel

  • @davidoh6342
    @davidoh6342 2 роки тому

    You have to show us how you set up the collection for users so that we can follow through everythinggggg

  • @alimkugotov7193
    @alimkugotov7193 2 роки тому

    thank you :3

  • @jaggyjut
    @jaggyjut 2 роки тому

    The mongo-express container stops running during the initial run and needs to be manually started. I think mongo-express needs start needs to be delayed to ensure mongodb container is up first.

  • @Dan-hh7ve
    @Dan-hh7ve 3 роки тому

    Thanks Nana!

  • @navneettiwari9176
    @navneettiwari9176 2 роки тому

    Nice

  • @massmedia6516
    @massmedia6516 Рік тому

    Your are just pretty awesome...

  • @BenMick
    @BenMick 2 роки тому

    If you have a couple of services that you are running (not as part of your own built apps) is it good convention to split them up into individual docker compose files or have them all as one? Also, where should docker compose files go?

  • @aminembarek6741
    @aminembarek6741 4 роки тому

    It was very helpful

  • @5chmts
    @5chmts 2 роки тому

    I absolutely love your tutorials, Nana. I've come into a problem though, where mongo spews out logs in plain text which is very difficult to read. Any idea on how to overcome that? Thanks in advance!

    • @5chmts
      @5chmts 2 роки тому

      Nevermind, just tried a couple of different versions and 4.2 did me good. :)

  • @gabrielcsik2712
    @gabrielcsik2712 3 роки тому

    I would like to ask you why do you specify and expose the port on host for mongodb if the docker network already connects them because of internal network? Don't we only need to expose the mongo-express port on host? If I understood it wrong, please correct me. Thanks for an awesome video.

  • @brianshanahan3878
    @brianshanahan3878 4 роки тому +1

    I love your videos so far. I am watching from the begining as a refresher but came to learn the k8s portion. Question for this video is at 10:58 when you start "server.js", I did not catch where / when you created this. Is there a Git repo somewhere that compliments this video? Sorry to ask a distracting question... :)

    • @fuffsec
      @fuffsec 4 роки тому +1

      gitlab.com/nanuchi/techworld-js-docker-demo-app

  • @georgesmith3022
    @georgesmith3022 3 роки тому

    thank you for the wonderful series. I have a question. Can you specify in docker-compose the -d option like in docker run -d or is it not possilbe?

  • @kirankumarkkk7661
    @kirankumarkkk7661 Рік тому

    ty..

  • @2024vijayakumar
    @2024vijayakumar 4 роки тому +1

    Excellent videos. Will you be also doing something similar for Kubernetes?

  • @rbfreitas
    @rbfreitas 3 роки тому

    Great video

  • @Santiago-yy3jg
    @Santiago-yy3jg 2 роки тому

    Hi Nana, i have a question. Why is it forwarding to port 8081? As you said in the yaml file it it 8080:8080.

  • @scottamolinari
    @scottamolinari 2 роки тому

    @TechWorld with Nana - What is your take on using compose files for setting up k8s?

  • @4rollingstone
    @4rollingstone 3 роки тому

    Good one Nana. 👍

  • @ElLuben
    @ElLuben 3 роки тому

    WOW soooooo good!

  • @deepinpact035
    @deepinpact035 3 роки тому

    Thank you... :)

  • @diegovallante51
    @diegovallante51 2 роки тому

    147 / 5.000
    Risultati della traduzione
    Hello,
    I did not understand how to set up the volumes for the docker-compose.yml, could you indicate where to study them?
    thank you very much for your videos.

  • @uploadvoice
    @uploadvoice 2 роки тому +1

    here we don't need to specify the port mapping for mongo, I don't see why we map it, between containers in same network, there is no need ....

  • @juleswombat5309
    @juleswombat5309 4 роки тому

    Awesome stuff.
    Is there a way of naming the internal network, rather than the default app_?

  • @fatemepourghaemi2587
    @fatemepourghaemi2587 3 роки тому

    enjyed it sm

  • @myrachoantonio8832
    @myrachoantonio8832 3 роки тому

    hey thank you for the tutorial but i have an issue i was working on my docker compose file with go, mysql, phpmyadmin. after docker up commad the phpmyadmin could connect to mysql db.then i used the mysql container name- phpmyqdminb connected but my app would still not connect. what do i need to do? i Used mysql port before and even the phpmyadmin could not connect to the mysql db then

  • @antoniopafundi3455
    @antoniopafundi3455 4 роки тому +1

    I have an error in build: mongo is looking for an image in my local directory instead that in docker hub

  • @aminembarek6741
    @aminembarek6741 4 роки тому

    impressive work

  • @alivecoding4995
    @alivecoding4995 Рік тому

    I thoughts lists need to be using "-"? Why aren't there dashes before "mongo" and "mongo express" then?

  • @Techonsapevole
    @Techonsapevole 4 роки тому

    Great video, thanks.
    Do you have a reccomanded way to backup data and db containers?

    • @TechWorldwithNana
      @TechWorldwithNana  4 роки тому

      Yes there is a standard way to backup data using "docker volumes". I will be covering "docker volumes" in the next videos, since it's an important concept.
      Simply explained, it is a physical storage on your host that is used by docker container to persist its data.

    • @Techonsapevole
      @Techonsapevole 4 роки тому

      @@TechWorldwithNana Thanks, what about databases? Is possible to do something for nonstatic data?

    • @TechWorldwithNana
      @TechWorldwithNana  4 роки тому

      @@Techonsapevole yes, exactly. volumes are used for databases and other stateful applications to persist the data. So when you restart the database container the data will still be there.
      Do you have a specific use case?

    • @Techonsapevole
      @Techonsapevole 4 роки тому

      @@TechWorldwithNana i mean, all the db containers should be stopped before the backup and then unfreezed to have consistent data.. Is there a docker way to do it in a safe way?

    • @TechWorldwithNana
      @TechWorldwithNana  4 роки тому +2

      @@Techonsapevole Yes. You can do data backups and restores with docker volumes as well.
      One way to backup and restore will be to create docker volume backups or tar archive of the volume contents. For this you will need to stop the container. And create a new one that will create this artefact using tar command.
      Similarly you can restore this docker volume archive in a new container.
      However if you don't want to start all the containers for a backup, a better way will be to do the automated dumps, specifically for SQL database you will create mysql dump from a running container.
      Using “docker exec …” command you can execute sqldump and save that dump file on your host.
      When restoring you can again using “docker exec …” command play the dump into the container.
      And of course both ways of backup and restore of data can be fully automated.

  • @aram5642
    @aram5642 3 роки тому

    I have been playing with Docker for past two weeks and I must say I still feel very confused as to the correct development drill. Should I use docker build or docker-compose build or docker-compose --build up, every time I make a change to package.json (modify a script) or Dockerfile itself.

  • @BambaZillah
    @BambaZillah 3 роки тому

    What is "context" in a docker compose?
    I get an issue with a copy command saying the file isn't there while it is. Lets say in ./schema.sql
    Context is set to .
    Cant up compose it says rpc error, file not found. Can you please help?

  • @mohitsharma-ew4tj
    @mohitsharma-ew4tj 4 роки тому +1

    please explain networks

  • @muaazster
    @muaazster 2 роки тому

    How do we run , docker-compose in windows , even i created yaml file , says couldnt find

  • @pavankumard5276
    @pavankumard5276 7 місяців тому

    I could not view the network created so I did docker network ls

  • @user-or7ji5hv8y
    @user-or7ji5hv8y 3 роки тому

    Cool

  • @kixanity
    @kixanity 4 роки тому

    12:24 battery change from 99 to 100

  • @vinnipatilpatil
    @vinnipatilpatil 2 роки тому

    From where did you launched this windows?

  • @squalazzo
    @squalazzo 3 роки тому

    from where does it take the name for the network? thanks

  • @musaisgenderli2715
    @musaisgenderli2715 3 роки тому

    I have faced with this problem:
    ERROR: In file '.\mongo.yaml', service 'ports' must be a mapping not an array.
    what can i do?

  • @lazyproton
    @lazyproton Рік тому

    💕

  • @jvm-tv
    @jvm-tv 3 роки тому

    Who else is binge watching Nana's Docker series?

  • @yolamontalvan9502
    @yolamontalvan9502 Рік тому

    Did you changed your voice?

  • @brianshanahan3878
    @brianshanahan3878 4 роки тому +1

    SORRY!!! I went back one video and found the Gitlab link.. ;)

    • @fuffsec
      @fuffsec 4 роки тому

      gitlab.com/nanuchi/techworld-js-docker-demo-app