🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🪟 Windows TippsAnytype Announces Next-Generation Anytwo Platform(11.09.2026 um 21:27 Uhr)
⚠️ Malware / Trojaner / VirenWindows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC(10.09.2026 um 20:11 Uhr)
⚠️ Malware / Trojaner / VirenVorsicht: Android-Malware verschlüsselt Ihre Handys und nimmt heimlich Fotos auf(11.09.2026 um 09:35 Uhr)
🕵️ SicherheitslückenMicrosoft geht endlich eines der nervigsten Probleme von Windows 11 an(11.09.2026 um 11:58 Uhr)
💾 IT Security ToolsSysinternals Suite(11.09.2026 um 12:00 Uhr)
🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🪟 Windows TippsAnytype Announces Next-Generation Anytwo Platform(11.09.2026 um 21:27 Uhr)
⚠️ Malware / Trojaner / VirenWindows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC(10.09.2026 um 20:11 Uhr)
⚠️ Malware / Trojaner / VirenVorsicht: Android-Malware verschlüsselt Ihre Handys und nimmt heimlich Fotos auf(11.09.2026 um 09:35 Uhr)
🕵️ SicherheitslückenMicrosoft geht endlich eines der nervigsten Probleme von Windows 11 an(11.09.2026 um 11:58 Uhr)
💾 IT Security ToolsSysinternals Suite(11.09.2026 um 12:00 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 3 Min Lesezeit
0

Devops Open source project Task

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

To persist data for a MongoDB container by attaching a Docker volume and demonstrate the use of Docker volumes with a Node.js and MongoDB project, here’s a step-by-step approach.









Step 1: Install Docker



Ensure Docker is installed and running on your system. If not, install it following the official Docker installation guide.









Step 2: Create the Project Structure



Set up a directory structure for the project:




CODE
persist-docker-volumes/
├── backend/
│ ├── app.js
│ ├── package.json
│ ├── package-lock.json
├── docker-compose.yml
├── Dockerfile












Step 3: Write the Node.js Application



Create a basic Node.js application to interact with MongoDB.



backend/package.json:




CODE
{
"name": "docker-volume-demo",
"version": "1.0.0",
"main": "app.js",
"dependencies": {
"express": "^4.17.3",
"mongoose": "^6.0.0"
},
"scripts": {
"start": "node app.js"
}
}






Run:




CODE
npm install






backend/app.js:




CODE
const express = require("express");
const mongoose = require("mongoose");

const app = express();
app.use(express.json());

// MongoDB connection
mongoose.connect("mongodb://mongo:27017/dockerVolumeDemo", {
useNewUrlParser: true,
useUnifiedTopology: true,
});

const db = mongoose.connection;
db.on("error", console.error.bind(console, "MongoDB connection error:"));
db.once("open", () => {
console.log("Connected to MongoDB!");
});

// Define a simple schema and model
const UserSchema = new mongoose.Schema({
name: String,
});
const User = mongoose.model("User", UserSchema);

// Routes
app.get("/", (req, res) => {
res.send("Welcome to the Docker Volumes Demo!");
});

app.post("/users", async (req, res) => {
const user = new User(req.body);
await user.save();
res.json(user);
});

app.get("/users", async (req, res) => {
const users = await User.find();
res.json(users);
});

const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});












Step 4: Create the Docker Compose File



docker-compose.yml:




CODE
version: "3.9"

services:
backend:
build: .
ports:
- "3000:3000"
depends_on:
- mongo
volumes:
- ./backend:/app
environment:
- NODE_ENV=development

mongo:
image: mongo:latest
ports:
- "27017:27017"
volumes:
- mongodb_data:/data/db

volumes:
mongodb_data:












Step 5: Write the Dockerfile



Dockerfile:




CODE
# Use Node.js image
FROM node:14

# Set working directory
WORKDIR /app

# Copy package.json and package-lock.json
COPY backend/package*.json ./

# Install dependencies
RUN npm install

# Copy application files
COPY backend/ .

# Expose port
EXPOSE 3000

# Start the app
CMD ["npm", "start"]












Step 6: Build and Run the Containers




  1. Build the services:




CODE
   docker-compose build







  1. Start the containers:




CODE
   docker-compose up







  1. Verify the containers:




CODE
   docker ps












Step 7: Test the Application




  1. Access the Node.js application at http://localhost:3000/.


  2. Use an API tool like Postman or curl to test endpoints:




    • Create a user:


    CODE
     curl -X POST -H "Content-Type: application/json" -d '{"name": "John"}' http://localhost:3000/users







  • Retrieve users:


    CODE
     curl http://localhost:3000/users











Step 8: Verify Data Persistence




  1. Stop the containers:




CODE
   docker-compose down







  1. Restart the containers:




CODE
   docker-compose up







  1. Access the /users endpoint again. The previously created data should still be present, as it’s stored in the Docker volume.









Step 9: Clean Up



To remove the containers and associated volume:




CODE
docker-compose down --volumes












Technologies Used





  • Docker: For containerizing the application and MongoDB.


  • Node.js: For the backend server interacting with MongoDB.


  • MongoDB: As the database.


  • Docker Volumes: To persist MongoDB data across container restarts.



This project demonstrates how to use Docker volumes to ensure data persistence in a containerized environment while integrating Node.js and MongoDB.



Happy Learning!!!

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
The Gemini desktop app is now available for Windows
1 Quelle
Anytype Announces Next-Generation Anytwo Platform
1 Quelle
Windows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Devops Open source project Task

Thematisch verwandte Begriffe: Devops, Open, source, project · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...