How to dockerize NodeJS and MongoDB application using docker-compose
In this video we will learn how to use #docker-compose to containerize a #Nodejs #express with #MongoDB as a database.
Chapters:
Introduction 0:00
Description of Example Repo: 0:31
Dockerizing basics: 5:46
Files needed for docker compose: 7:07
Dockerfile for Nodejs application: 9:42
Bonus (npm ci) continuous integration: 12:42
.dockerignore file: 14:16
docker-compose: 16:48
MongoDB container (service): 18:12
Nodejs container (service): 21:57
Volume for MongoDB: 27:31
Starting container (docker compose up): 28:34
Port mapping for Mongodb: 34:24
Developing using #Nodemon: 36:46
Bonus (#Redis container): 41:25
Github link of repo used: github.com/trulymittal/Nodejs...
Install Docker: • Install Docker on Windows
Docker Playlist: • Docker
--------------------------------------------------------------------------
📦FREE $100 credit @Digital Ocean: m.do.co/c/3208f08b3324
--------------------------------------------------------------------------
Subscribe: kzread.info...
--------------------------------------------------------------------------
💵Support the channel:
Paypal: www.paypal.me/trulymittal
Patreon: / trulymittal
--------------------------------------------------------------------------
⭐ Kite is a free AI-powered coding assistant that will help you code faster and smarter. The Kite plugin integrates with all the top editors and IDEs to give you smart completions and documentation while you’re typing. I've been using Kite for 6 months and I love it! www.kite.com/get-kite/?...
--------------------------------------------------------------------------
======================
✔ Other useful Playlists
======================
#RestAPI (#NodeJS and MongoDB): • REST API using NodeJS ...
#API Authentication using #JWT: • NodeJS API Authenticat...
#Firebase: • Firebase | Build a Not...
Docker: • Docker
MongoDB: • Learn MongoDB in 50 mi...
Html/Css/Js: • HTML / CSS / JS
Android: • Android
Challenges: • Challenges
#yoursTRULY #tutorial #howto #nodejs #android
Пікірлер: 97
Man, Thanks for that. It was really useful. Simple however straight to the important points.
This was very thorough. After reading many tutorials about setting up Mongo for docker, this is the only one that actually worked. I'm now looking for more details on initializing Mongo database and roles, but this video has proven very useful.
I was working on flask (python) restful api with mongodb and none of the flask + docker tutorials I watched had worked. I decided to give this one a go and it worked like a charm. Thank you so much
Thank you for creating such an informative and easy-to-understand video on Docker. I was confused about its use and how to learn it, but this video cleared up all my doubts. Keep up the great work! 😊
Thank you, this tutorial was absolutely perfect.
Thank you man, for providing such a clear and straightforward tutorial
Awesome video, well explained. Thanks!!
You did a great job, thank you!
Really Informative Explenation !! Great JOB !! Thank You !! 👏
Explored very straight forward.... Loved it.... ❤️
Crisp and clear explanation ✨. It Solved some of my doubts 🙌
this was a great tutorial. I have my nodejs and mongo project which I wanted to dockerize. thanks!
That is a heck of a good tutorial. I hope you will extend it by migrating api to typescript - then there will be an additional build step.
Thank you, Bro! Very informative tutor! It helps me to start!
You saved my life with docker and nodejs tech
Thank you so much for this awesome Content 🙏🏻
Really big thanks to you, how you explain every concept is so nice
@mafiacodes
2 жыл бұрын
Thanks and welcome Subscribe like share
Amazing tutorial. The only tutorial which worked for me, many thanks. Keep it up
@mafiacodes
2 жыл бұрын
Glad to hear that Subscribe like share
This is a great one mahn!!
You just saved another 2 hours of my life. Thanks!!!
@mafiacodes
2 жыл бұрын
Subscribe like share
Thank you. It was so helpful
You are the best thank you!
Thank you for making it easy
Thank you very much. very descriptive content
WOW, you are SO GOOD at teaching! You really understand the balance of how to give a good pace, while stopping to give explanations when needed. Most coding tutorials don't understand the balance. They either explain every little thing, making the video super slow (and sometimes skipping an important explanation), or they just show a demo of them coding a project and don't explain anything. I felt like you explained everything I wanted to know, and skipped everything I didn't.
Excellent Tutorial
very nice, it help me a lot
Great conceptual thank you so much sir
I was just at 9:54 mins before i subscribed to your channel.... You are very detailed and perfect at teaching... This was very helpful, Thank you.
@mafiacodes
Жыл бұрын
Welcome aboard!
Thank you so much bro! Your video so good!
@mafiacodes
Жыл бұрын
Glad it helped
Gracias señor Hindú, me ayudó a salvar el semestre
great video pls keep making this kind of new videos
Great tutorial.👌👌
thank you brother
Thank you 🙏
Great thanks 👍
You are the best
Make a video on kurbernetes load balancer with ingress ngnix react,node,database
Thank you
crazy brother. u r god
Amazing tutorial. Can you tell me the theme and font you're using? It's really pleasing for me
Was needed
13:20 ci stands for Clean Install
Awesome !!11
@mafiacodes
Жыл бұрын
Subscribe like share 👍
thanks
Great 👍👌
@mafiacodes
2 жыл бұрын
Subscribe like share
Hello sir been waiting for your video so long. But im here just to remind you any plan to release new series of rock solid on how to avoid zero downtime when redeploy the app. don't mind me♥️😊
best
can you please make a tutorial on How to use the same Dockerfile for both local development and production with multi-stage builds?
Please do a video on Microservices Node js
Please make video on how to manage vulnerability errors
could you tell what themes and fonts you are using?
Your VS code configuration looks very good. Can you please share the configuration? Thank you
@mafiacodes
Жыл бұрын
Yes I can
@codewithsub5083
Жыл бұрын
@@mafiacodes please share a gist. Thank you 🤩🤩
Can you please share the example files?
If I have already a db in Mongodb atlas and I wanna use it inside container, then what would be the Mongo env variables. And where to mention that - docker-compose.yml or Dockerfile?
♥♥♥
Would you please share the font family name you are using ?
Hello, i want my mongodb container to use data from local db how can i do that?
npm ci - ci stand for clean install
Hii I am building a microservice in docker-compose and i want that if any service crashes then it should restart automatically. i used restart tag in compose file but it is not restarting if the service crashes. All of my services in node app. Can you please help me.
Wow
@mafiacodes
2 жыл бұрын
Subscribe like share
after docker compose up... my node server is working but there is problem in database connection
How to backup MongoDb database? For time being i want to backup my MongoDb data to my local pc from my Vps server which is digital Ocean droplet. After some time I'll create new droplet and restore the database. If it's the mysql then i can download .sql file from exporting Through phpmyadmin. Whenever i want i can import .sql file again Same thing how to do with docker? For MongoDb
Thank you for your tutorial. I following yours, but I’m stuck with 404 status when I access localhost:4000. While status in terminal: nodejs-rest-api-api-1 | Mongodb connected.... What should I do to find where error(s) came from? TIA.
@yosepmys7605
2 жыл бұрын
So I clone the code from git, and there was different in app.js route. After I add get(‘/‘) it works! But why nodemon not working with yours? I add volumes to include node_modules and it works.
If my database is in mongodb atlas, then what different steps should i follow......( like you changed localhost name to mongodb , so i am asking)
I have cloned the repo and followed the steps as u mentioned , but getting this error " Mongoose connection is disconnected..."
throwing authentication error in mongosh
😊
Can we add Mongodb Atlas URI in place of local MONGODB_URI in api service inside docker-compose but in that case I think we don't need mongodb service because now our database hosted on cloud. Am I right?
@mafiacodes
2 жыл бұрын
Yes 💯%
@abhiramsatpute
Жыл бұрын
@@mafiacodes if possible PIN this comment as well, this doubt will come to many
@vinosamari
Жыл бұрын
@@abhiramsatpute There are still use cases for running locally so having the atlas url doesn't invalidate this method.
nodemon part is not working for my case
please make a part 2 of it. deploy it on digital ocean Ubuntu server
@milon27
2 жыл бұрын
part 3: show ci/cd using GitHub action
Good content but i have problem, when i consult my api logs, i have that: > NODE_ENV=DEVELOPMENT nodemon app.js sh: nodemon: Permission denied
I followed the tutorial, however when I do "docker compose up", it gives me an error "MongooseError: The `uri` parameter to `openUri()` must be a string, got "undefined". It's like the environment varaiables I declared aren't being read properly. I'm using an .env file and it works fine when I run the app outside of a container. I searched online and found no solution. Any tips? Great video btw, helped me a lot, thanks!
@OneEyedGhost
2 жыл бұрын
Hey I am also doing the same and got the error before i added the env variables in the dockerfile. Hope it helps!!
@kiranojha8811
2 жыл бұрын
you need to add env inside docker compose
Server started on port 3000... nodejs-rest-api-nodejs-1 | Mongoose connection is disconnected... nodejs-rest-api-nodejs-1 | Server selection timed out after 30000 ms nodejs-rest-api-nodejs-1 | Server selection timed out after 30000 ms, I'm getting this error, could any help me out...
I miss your android tutorial
@sanitbandekar
2 жыл бұрын
me too
I cannot connect to mongoDb with db name or container name however it is getting created and connected with localhost only, am I missing something?
@user-zz6du6ri9k
11 ай бұрын
I am facing the same issue now. Did you fins a solution?
@changqing8901
9 ай бұрын
Me too
For anyone getting an error 404 not found, add this above the const productRoute.... (it's not on the githubrepo) app.get('/', (req, res, next) => { res.json({ message:'It works .', env_name: process.env.NAME}) })