How to dockerize NodeJS and MongoDB application using docker-compose
Vložit
- čas přidán 27. 07. 2024
- 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: czcams.com/users/yourstruly2...
--------------------------------------------------------------------------
💵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
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
Man, Thanks for that. It was really useful. Simple however straight to the important points.
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
Really Informative Explenation !! Great JOB !! Thank You !! 👏
Explored very straight forward....
Loved it.... ❤️
Awesome video, well explained.
Thanks!!
Crisp and clear explanation ✨. It Solved some of my doubts 🙌
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.
this was a great tutorial. I have my nodejs and mongo project which I wanted to dockerize. thanks!
You did a great job, thank you!
Amazing tutorial.
The only tutorial which worked for me, many thanks. Keep it up
Glad to hear that
Subscribe like share
Thank you, Bro! Very informative tutor! It helps me to start!
Thank you so much for this awesome Content 🙏🏻
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.
Really big thanks to you, how you explain every concept is so nice
Thanks and welcome
Subscribe like share
Thank you for making it easy
You just saved another 2 hours of my life. Thanks!!!
Subscribe like share
Thank you. It was so helpful
This is a great one mahn!!
You saved my life with docker and nodejs tech
Great conceptual thank you so much sir
Thank you very much. very descriptive content
Excellent Tutorial
very nice, it help me a lot
You are the best thank you!
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.
Welcome aboard!
Great tutorial.👌👌
Gracias señor Hindú, me ayudó a salvar el semestre
great video pls keep making this kind of new videos
Thank you so much bro! Your video so good!
Glad it helped
Great thanks 👍
thank you brother
Thank you 🙏
You are the best
Make a video on kurbernetes load balancer with ingress ngnix react,node,database
Amazing tutorial. Can you tell me the theme and font you're using? It's really pleasing for me
crazy brother. u r god
Was needed
Thank you
Awesome !!11
Subscribe like share 👍
Great 👍👌
Subscribe like share
13:20 ci stands for Clean Install
can you please make a tutorial on How to use the same Dockerfile for both local development and production with multi-stage builds?
thanks
Please make video on how to manage vulnerability errors
could you tell what themes and fonts you are using?
Can you please share the example files?
best
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♥️😊
Please do a video on Microservices Node js
npm ci - ci stand for clean install
Hello, i want my mongodb container to use data from local db how can i do that?
Would you please share the font family name you are using ?
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?
after docker compose up... my node server is working but there is problem in database connection
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.
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)
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
nodemon part is not working for my case
I have cloned the repo and followed the steps as u mentioned , but getting this error " Mongoose connection is disconnected..."
Your VS code configuration looks very good.
Can you please share the configuration?
Thank you
Yes I can
@@mafiacodes please share a gist.
Thank you 🤩🤩
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
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.
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.
♥♥♥
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?
Yes 💯%
@@mafiacodes if possible PIN this comment as well, this doubt will come to many
@@abhiramsatpute There are still use cases for running locally so having the atlas url doesn't invalidate this method.
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 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!
Hey I am also doing the same and got the error before i added the env variables in the dockerfile. Hope it helps!!
you need to add env inside docker compose
please make a part 2 of it. deploy it on digital ocean Ubuntu server
part 3: show ci/cd using GitHub action
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?
I am facing the same issue now. Did you fins a solution?
Me too
😊
Wow
Subscribe like share
I miss your android tutorial
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})
})