استفاده از Dockerfile و Docker Compose برای توسعه محلی با Node.js، MongoDB و MongoExpress

Summarize this content to 400 words in Persian Lang
مقدمه
در این پست، من به شما نشان خواهم داد که چگونه یک محیط توسعه محلی را با استفاده از Docker با Node.js، MongoDB و MongoExpress راه اندازی کنید. Docker ابزار قدرتمندی است که بستهبندی برنامهها و وابستگیهای آنها را آسان میکند و از ثبات در محیطهای مختلف اطمینان میدهد.
هدف این راهنما این است که به شما کمک کند یک برنامه ساده Node.js متصل به پایگاه داده MongoDB را بچرخانید. ما همچنین از MongoExpress به عنوان یک رابط سبک مبتنی بر وب برای مدیریت پایگاه داده استفاده خواهیم کرد که همه در داخل کانتینرهای Docker اجرا می شوند. در پایان این پست، شما یک محیط کاملا کاربردی خواهید داشت که تنها با چند دستور می توان آن را راه اندازی کرد و از بین برد.
پیش نیازهاقبل از غواصی، لطفاً مطمئن شوید که موارد زیر را نصب کرده اید:
Docker: می توانید Docker را از اینجا دانلود و نصب کنید.
درک اولیه Node.js و MongoDB.
یک نمونه EC2 Cloud برای کاربران غیر اوبونتو
اگر در Docker تازه کار هستید، جای نگرانی نیست! این راهنما شما را از طریق دستورات ضروری که برای راهاندازی محیط خود باید بدانید، راهنمایی میکند.
راه اندازی پروژه
راه اندازی برای Dockerبنابراین ما شروع به راه اندازی پروژه می کنیم، اولین کاری که باید انجام دهیم این است که تصاویر mongodb و تصویر mongo express UI را از dockerhub بکشیم.
بیایید docker را نصب کنیم اما ابتدا باید لیست های بسته را به روز کنیم
sudo apt update
sudo apt upgrade -y
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
Dependencies مورد نیاز را نصب کنیدبسته هایی را نصب کنید که به apt اجازه می دهد از مخازن از طریق HTTPS استفاده کند:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
کلید رسمی GPG Docker را اضافه کنید
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
مخزن Docker را راه اندازی کنیدمخزن Docker را به منابع مناسب اضافه کنید:
echo \
“deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
Docker Engine را نصب کنید
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اکنون آن داکر نصب شده است، زمان آن است که تصاویر را بکشدبیایید ابتدا تصویر mongodb را بکشیم
دستور docker run دو کار را انجام می دهد، تصویر را می کشد و تصویری را اجرا می کند که به آن کانتینر می گوییم. یک کانتینر نمونه در حال اجرا یک تصویر است.
کانتینرهای Docker در یک شبکه ایزوله اجرا می شوند به این معنی که اگر ما دو کانتینر مختلف را اجرا می کنیم و می خواهیم آنها بتوانند با هم ارتباط برقرار کنند، باید آنها را در یک شبکه قرار دهیم.
توضیح اسکرین شات:
docker run:
این دستور یک کانتینر جدید را از یک تصویر Docker شروع می کند.
-d:
این -d پرچم به داکر میگوید که کانتینر را در حالت جداشده (در پسزمینه) اجرا کند، بنابراین ترمینال را مسدود نمیکند.
-p 27017:27017:
این گزینه پورت را ترسیم می کند 27017 در دستگاه میزبان به پورت 27017 در ظرف MongoDB از این پورت برای ارتباط استفاده می کند.
نحو است host_port:container_port، به این معنی که MongoDB از طریق قابل دسترسی خواهد بود localhost:27017 در دستگاه میزبان
–network mongo-network:
این گزینه کانتینر را به یک شبکه Docker به نام متصل می کند mongo-network. این شبکه به چندین کانتینر اجازه می دهد تا با یکدیگر ارتباط برقرار کنند.
اگر شبکه وجود ندارد، آن را با آن ایجاد کنید docker network create mongo-network.
–name mongodb:
این یک نام اختصاص می دهد (mongodb) به ظرف در حال اجرا. به شما این امکان را می دهد که به کانتینر با نام اشاره کنید نه با شناسه کانتینر آن.
-e MONGO_INITDB_ROOT_USERNAME=admin:
این -e flag متغیرهای محیطی را در داخل کانتینر تنظیم می کند. در این صورت تنظیم می شود MONGO_INITDB_ROOT_USERNAME به admin، که نام کاربری کاربر ریشه MongoDB را مشخص می کند.
-e MONGO_INITDB_ROOT_PASSWORD=changethis123:
مشابه گزینه قبلی، این متغیر محیطی را تنظیم می کند MONGO_INITDB_ROOT_PASSWORD به changethis123، تعریف رمز عبور برای کاربر ریشه MongoDB.
mongo:
این نام تصویر مورد استفاده است. در این مورد، این تصویر رسمی MongoDB از Docker Hub است.
اکنون که اطلاعاتی در مورد docker داریم، اجازه دهید تصویر mongodb express را بکشیم و آن را اجرا کنیم
برای بررسی شبکه موجود، می توانیم اجرا کنیم docker network ls
نام شبکه ای را که به تازگی ایجاد کرده ایم خروجی می دهد، بنابراین آنها می توانند با استفاده از نام کانتینر با یکدیگر صحبت کنند.
بنابراین ما می توانیم با استفاده از مرورگر خود به سرور mongo express دسترسی پیدا کنیم localhost:8081
اکنون راهاندازی سریعتر و بهتری وجود دارد که به جای اجرای دستورات در ترمینال، از dockerfile و docker compose استفاده میکند. فقط برای واضح بودن یک فایل Docker Compose از نحو YAML استفاده می کند، نحوه پیکربندی و اجرای برنامه های چند کانتینری را در Docker تعریف می کند در حالی که Dockerfile یک فایل متنی است که حاوی دستورالعمل هایی برای ساخت یک تصویر کانتینر است.
راه اندازی پروژه
ابتدا یک برنامه Node.js ساده ایجاد می کنیم. اگر قبلاً Node.js را نصب نکردهاید، میتوانید آن را از اینجا دانلود کنید.
با ایجاد یک پوشه پروژه شروع کنید:
mkdir docker-node-mongo
cd docker-node-mongo
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
یک پروژه Node.js جدید را راه اندازی کنید:
npm init -y
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
وابستگی های لازم را نصب کنید. برای این تنظیم، ما نیاز داریم اکسپرس برای وب سرور ما و مانگوس برای تعامل با MongoDB:
npm install express mongoose
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
ایجاد کنید index.js فایل با یک سرور Express ساده و یک اتصال MongoDB با استفاده از Mongoose:
const express = require(‘express’);
const mongoose = require(‘mongoose’);
const app = express();
const port = 3000;
// MongoDB connection
mongoose.connect(‘mongodb://mongo:27017/testdb’, {
useNewUrlParser: true,
useUnifiedTopology: true,
}).then(() => {
console.log(‘Connected to MongoDB’);
}).catch(err => {
console.log(‘Failed to connect to MongoDB’, err);
});
// Routes
app.get(‘/’, (req, res) => {
res.send(‘Hello from Node.js and MongoDB’);
});
app.listen(port, () => {
console.log(`App running at http://localhost:${port}`);
});
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این یک سرور اکسپرس اولیه را راه اندازی می کند و آن را به یک نمونه MongoDB در حال اجرا متصل می کند mongodb://mongo:27017/testdb. حالا بیایید آن را Dockerize کنیم.
ایجاد یک Dockerfile برای Node.js
در مرحله بعد، باید a ایجاد کنیم Dockerfile که محیط را برای برنامه Node.js ما تعریف می کند. الف Dockerfile اساساً طرحی برای ساختن تصویر Docker است که شامل برنامه شما می شود.
یک فایل به نام ایجاد کنید Dockerfile در ریشه دایرکتوری پروژه خود و موارد زیر را اضافه کنید:
# Use the official Node.js image from Docker Hub
FROM node:16
# Set the working directory inside the container
WORKDIR /app
# Copy package.json and install dependencies
COPY package*.json ./
RUN npm install
# Copy the rest of the app files
COPY . .
# Expose the port the app runs on
EXPOSE 3000
# Command to run the app
CMD [“node”, “index.js”]
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این Dockerfile خواهد شد:
از تصویر رسمی Node.js استفاده کنید.
دایرکتوری کاری را تنظیم کنید /app.
را کپی کنید package.json و وابستگی های لازم را نصب کنید.
بقیه فایل ها را کپی کنید و نقطه ورود را برای اجرای برنامه Node.js تنظیم کنید.
راه اندازی MongoDB و MongoExpress با Docker Compose
بهجای اجرای همه سرویسها به صورت جداگانه، از آن استفاده خواهیم کرد Docker Compose برای تعریف و مدیریت محیط چند کانتینری ما. Docker Compose به ما امکان می دهد خدمات، شبکه ها و حجم ها را در یک تعریف کنیم docker-compose.yml فایل، تنظیم کردن کل پشته ما را آسان می کند. نکته ای که باید به خاطر بسپارید این است که هنگام استفاده از docker compose نیازی به ایجاد شبکه نداریم، آن به طور خودکار یک شبکه برای چندین کانتینر تعریف شده در فایل yaml ایجاد می کند.
ایجاد یک docker-compose.yml فایل در ریشه پروژه:
version: ‘3’
services:
nodeapp:
build: .
ports:
– ‘3000:3000’
volumes:
– .:/app
depends_on:
– mongo
mongo:
image: mongo
ports:
– ‘27017:27017’
mongo-express:
image: mongo-express
ports:
– ‘8081:8081’
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_SERVER: mongo
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این پیکربندی سه سرویس را تعریف می کند:
nodeapp: برنامه Node.js ما.
مونگو: یک نمونه MongoDB که روی پورت اجرا می شود 27017.
mongo-express: یک رابط مبتنی بر وب برای مدیریت MongoDB، قابل دسترسی در پورت 8081.
اجرای برنامه
با تنظیم همه چیز، اجازه دهید برنامه را با استفاده از Docker Compose اجرا کنیم.
دستور زیر را در ترمینال خود اجرا کنید:
docker-compose up
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
برای بستن چندین کانتینر که در حال حاضر از Docker Compose استفاده می کنند
docker-compose down
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
Docker Compose تصاویر لازم را می کشد، برنامه Node.js را می سازد و همه سرویس ها را شروع می کند. پس از تکمیل فرآیند، باید گزارشهایی را از MongoDB، Node.js و MongoExpress مشاهده کنید.
بازدید کنید http://localhost:3000 برای مشاهده اجرای برنامه Node.js.
بازدید کنید http://localhost:8081 برای دسترسی به MongoExpress و مدیریت پایگاه داده خود.
اتصال Node.js به MongoDB
برنامه Node.js ما قبلاً برای اتصال به MongoDB با رشته اتصال زیر تنظیم شده است index.js:
mongoose.connect(‘mongodb://mongo:27017/testdb’, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این mongo hostname به سرویس MongoDB تعریف شده در ما اشاره دارد docker-compose.yml. Docker Compose به طور خودکار یک شبکه برای سرویس ها ایجاد می کند و به آنها امکان می دهد با نام سرویس خود ارتباط برقرار کنند.
نتیجه گیری
در این پست، ما با موفقیت یک محیط توسعه محلی را با استفاده از Docker برای راه اندازی کردیم Node.js، MongoDB، و MongoExpress. با استفاده از Docker Compose، چندین کانتینر را هماهنگ کردیم تا به طور یکپارچه با هم کار کنند و چرخش یک پشته کاملاً کاربردی را برای توسعه آسانتر میکند.
با این تنظیمات، می توانید به راحتی خدمات بیشتری اضافه کنید، پایگاه داده های خود را با MongoExpress مدیریت کنید و یک محیط ایزوله بدون نیاز به نصب MongoDB یا سایر وابستگی ها به صورت محلی داشته باشید.
خواندن مبارک!!! لطفا لایک کنید، ذخیره کنید، به اشتراک بگذارید و دنبال کنید!!!
مقدمه
در این پست، من به شما نشان خواهم داد که چگونه یک محیط توسعه محلی را با استفاده از Docker با Node.js، MongoDB و MongoExpress راه اندازی کنید. Docker ابزار قدرتمندی است که بستهبندی برنامهها و وابستگیهای آنها را آسان میکند و از ثبات در محیطهای مختلف اطمینان میدهد.
هدف این راهنما این است که به شما کمک کند یک برنامه ساده Node.js متصل به پایگاه داده MongoDB را بچرخانید. ما همچنین از MongoExpress به عنوان یک رابط سبک مبتنی بر وب برای مدیریت پایگاه داده استفاده خواهیم کرد که همه در داخل کانتینرهای Docker اجرا می شوند. در پایان این پست، شما یک محیط کاملا کاربردی خواهید داشت که تنها با چند دستور می توان آن را راه اندازی کرد و از بین برد.
پیش نیازها
قبل از غواصی، لطفاً مطمئن شوید که موارد زیر را نصب کرده اید:
- Docker: می توانید Docker را از اینجا دانلود و نصب کنید.
- درک اولیه Node.js و MongoDB.
- یک نمونه EC2 Cloud برای کاربران غیر اوبونتو
اگر در Docker تازه کار هستید، جای نگرانی نیست! این راهنما شما را از طریق دستورات ضروری که برای راهاندازی محیط خود باید بدانید، راهنمایی میکند.
راه اندازی پروژه
راه اندازی برای Docker
بنابراین ما شروع به راه اندازی پروژه می کنیم، اولین کاری که باید انجام دهیم این است که تصاویر mongodb و تصویر mongo express UI را از dockerhub بکشیم.
بیایید docker را نصب کنیم اما ابتدا باید لیست های بسته را به روز کنیم
sudo apt update
sudo apt upgrade -y
Dependencies مورد نیاز را نصب کنید
بسته هایی را نصب کنید که به apt اجازه می دهد از مخازن از طریق HTTPS استفاده کند:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
کلید رسمی GPG Docker را اضافه کنید
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
مخزن Docker را راه اندازی کنید
مخزن Docker را به منابع مناسب اضافه کنید:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Docker Engine را نصب کنید
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
اکنون آن داکر نصب شده است، زمان آن است که تصاویر را بکشد
بیایید ابتدا تصویر mongodb را بکشیم
دستور docker run دو کار را انجام می دهد، تصویر را می کشد و تصویری را اجرا می کند که به آن کانتینر می گوییم. یک کانتینر نمونه در حال اجرا یک تصویر است.
کانتینرهای Docker در یک شبکه ایزوله اجرا می شوند به این معنی که اگر ما دو کانتینر مختلف را اجرا می کنیم و می خواهیم آنها بتوانند با هم ارتباط برقرار کنند، باید آنها را در یک شبکه قرار دهیم.
توضیح اسکرین شات:
docker run
:
این دستور یک کانتینر جدید را از یک تصویر Docker شروع می کند.
-d
:
این -d
پرچم به داکر میگوید که کانتینر را در حالت جداشده (در پسزمینه) اجرا کند، بنابراین ترمینال را مسدود نمیکند.
-p 27017:27017
:
این گزینه پورت را ترسیم می کند 27017
در دستگاه میزبان به پورت 27017
در ظرف MongoDB از این پورت برای ارتباط استفاده می کند.
- نحو است
host_port:container_port
، به این معنی که MongoDB از طریق قابل دسترسی خواهد بودlocalhost:27017
در دستگاه میزبان
--network mongo-network
:
این گزینه کانتینر را به یک شبکه Docker به نام متصل می کند mongo-network
. این شبکه به چندین کانتینر اجازه می دهد تا با یکدیگر ارتباط برقرار کنند.
- اگر شبکه وجود ندارد، آن را با آن ایجاد کنید
docker network create mongo-network
.
--name mongodb
:
این یک نام اختصاص می دهد (mongodb
) به ظرف در حال اجرا. به شما این امکان را می دهد که به کانتینر با نام اشاره کنید نه با شناسه کانتینر آن.
-e MONGO_INITDB_ROOT_USERNAME=admin
:
این -e
flag متغیرهای محیطی را در داخل کانتینر تنظیم می کند. در این صورت تنظیم می شود MONGO_INITDB_ROOT_USERNAME
به admin
، که نام کاربری کاربر ریشه MongoDB را مشخص می کند.
-e MONGO_INITDB_ROOT_PASSWORD=changethis123
:
مشابه گزینه قبلی، این متغیر محیطی را تنظیم می کند MONGO_INITDB_ROOT_PASSWORD
به changethis123
، تعریف رمز عبور برای کاربر ریشه MongoDB.
mongo
:
این نام تصویر مورد استفاده است. در این مورد، این تصویر رسمی MongoDB از Docker Hub است.
اکنون که اطلاعاتی در مورد docker داریم، اجازه دهید تصویر mongodb express را بکشیم و آن را اجرا کنیم
برای بررسی شبکه موجود، می توانیم اجرا کنیم docker network ls
نام شبکه ای را که به تازگی ایجاد کرده ایم خروجی می دهد، بنابراین آنها می توانند با استفاده از نام کانتینر با یکدیگر صحبت کنند.
بنابراین ما می توانیم با استفاده از مرورگر خود به سرور mongo express دسترسی پیدا کنیم localhost:8081
اکنون راهاندازی سریعتر و بهتری وجود دارد که به جای اجرای دستورات در ترمینال، از dockerfile و docker compose استفاده میکند. فقط برای واضح بودن یک فایل Docker Compose از نحو YAML استفاده می کند، نحوه پیکربندی و اجرای برنامه های چند کانتینری را در Docker تعریف می کند در حالی که Dockerfile یک فایل متنی است که حاوی دستورالعمل هایی برای ساخت یک تصویر کانتینر است.
راه اندازی پروژه
ابتدا یک برنامه Node.js ساده ایجاد می کنیم. اگر قبلاً Node.js را نصب نکردهاید، میتوانید آن را از اینجا دانلود کنید.
- با ایجاد یک پوشه پروژه شروع کنید:
mkdir docker-node-mongo
cd docker-node-mongo
- یک پروژه Node.js جدید را راه اندازی کنید:
npm init -y
- وابستگی های لازم را نصب کنید. برای این تنظیم، ما نیاز داریم اکسپرس برای وب سرور ما و مانگوس برای تعامل با MongoDB:
npm install express mongoose
- ایجاد کنید
index.js
فایل با یک سرور Express ساده و یک اتصال MongoDB با استفاده از Mongoose:
const express = require('express');
const mongoose = require('mongoose');
const app = express();
const port = 3000;
// MongoDB connection
mongoose.connect('mongodb://mongo:27017/testdb', {
useNewUrlParser: true,
useUnifiedTopology: true,
}).then(() => {
console.log('Connected to MongoDB');
}).catch(err => {
console.log('Failed to connect to MongoDB', err);
});
// Routes
app.get('/', (req, res) => {
res.send('Hello from Node.js and MongoDB');
});
app.listen(port, () => {
console.log(`App running at http://localhost:${port}`);
});
این یک سرور اکسپرس اولیه را راه اندازی می کند و آن را به یک نمونه MongoDB در حال اجرا متصل می کند mongodb://mongo:27017/testdb
. حالا بیایید آن را Dockerize کنیم.
ایجاد یک Dockerfile برای Node.js
در مرحله بعد، باید a ایجاد کنیم Dockerfile
که محیط را برای برنامه Node.js ما تعریف می کند. الف Dockerfile
اساساً طرحی برای ساختن تصویر Docker است که شامل برنامه شما می شود.
یک فایل به نام ایجاد کنید Dockerfile
در ریشه دایرکتوری پروژه خود و موارد زیر را اضافه کنید:
# Use the official Node.js image from Docker Hub
FROM node:16
# Set the working directory inside the container
WORKDIR /app
# Copy package.json and install dependencies
COPY package*.json ./
RUN npm install
# Copy the rest of the app files
COPY . .
# Expose the port the app runs on
EXPOSE 3000
# Command to run the app
CMD ["node", "index.js"]
این Dockerfile
خواهد شد:
- از تصویر رسمی Node.js استفاده کنید.
- دایرکتوری کاری را تنظیم کنید
/app
. - را کپی کنید
package.json
و وابستگی های لازم را نصب کنید. - بقیه فایل ها را کپی کنید و نقطه ورود را برای اجرای برنامه Node.js تنظیم کنید.
راه اندازی MongoDB و MongoExpress با Docker Compose
بهجای اجرای همه سرویسها به صورت جداگانه، از آن استفاده خواهیم کرد Docker Compose برای تعریف و مدیریت محیط چند کانتینری ما. Docker Compose به ما امکان می دهد خدمات، شبکه ها و حجم ها را در یک تعریف کنیم docker-compose.yml
فایل، تنظیم کردن کل پشته ما را آسان می کند. نکته ای که باید به خاطر بسپارید این است که هنگام استفاده از docker compose نیازی به ایجاد شبکه نداریم، آن به طور خودکار یک شبکه برای چندین کانتینر تعریف شده در فایل yaml ایجاد می کند.
ایجاد یک docker-compose.yml
فایل در ریشه پروژه:
version: '3'
services:
nodeapp:
build: .
ports:
- '3000:3000'
volumes:
- .:/app
depends_on:
- mongo
mongo:
image: mongo
ports:
- '27017:27017'
mongo-express:
image: mongo-express
ports:
- '8081:8081'
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_SERVER: mongo
این پیکربندی سه سرویس را تعریف می کند:
- nodeapp: برنامه Node.js ما.
-
مونگو: یک نمونه MongoDB که روی پورت اجرا می شود
27017
. -
mongo-express: یک رابط مبتنی بر وب برای مدیریت MongoDB، قابل دسترسی در پورت
8081
.
اجرای برنامه
با تنظیم همه چیز، اجازه دهید برنامه را با استفاده از Docker Compose اجرا کنیم.
دستور زیر را در ترمینال خود اجرا کنید:
docker-compose up
برای بستن چندین کانتینر که در حال حاضر از Docker Compose استفاده می کنند
docker-compose down
Docker Compose تصاویر لازم را می کشد، برنامه Node.js را می سازد و همه سرویس ها را شروع می کند. پس از تکمیل فرآیند، باید گزارشهایی را از MongoDB، Node.js و MongoExpress مشاهده کنید.
- بازدید کنید
http://localhost:3000
برای مشاهده اجرای برنامه Node.js. - بازدید کنید
http://localhost:8081
برای دسترسی به MongoExpress و مدیریت پایگاه داده خود.
اتصال Node.js به MongoDB
برنامه Node.js ما قبلاً برای اتصال به MongoDB با رشته اتصال زیر تنظیم شده است index.js
:
mongoose.connect('mongodb://mongo:27017/testdb', {
useNewUrlParser: true,
useUnifiedTopology: true,
});
این mongo
hostname به سرویس MongoDB تعریف شده در ما اشاره دارد docker-compose.yml
. Docker Compose به طور خودکار یک شبکه برای سرویس ها ایجاد می کند و به آنها امکان می دهد با نام سرویس خود ارتباط برقرار کنند.
نتیجه گیری
در این پست، ما با موفقیت یک محیط توسعه محلی را با استفاده از Docker برای راه اندازی کردیم Node.js، MongoDB، و MongoExpress. با استفاده از Docker Compose، چندین کانتینر را هماهنگ کردیم تا به طور یکپارچه با هم کار کنند و چرخش یک پشته کاملاً کاربردی را برای توسعه آسانتر میکند.
با این تنظیمات، می توانید به راحتی خدمات بیشتری اضافه کنید، پایگاه داده های خود را با MongoExpress مدیریت کنید و یک محیط ایزوله بدون نیاز به نصب MongoDB یا سایر وابستگی ها به صورت محلی داشته باشید.
خواندن مبارک!!! لطفا لایک کنید، ذخیره کنید، به اشتراک بگذارید و دنبال کنید!!!