z3r0Luck
6c49e6d988
|
5 years ago | |
---|---|---|
mongoDB_swarm | 5 years ago | |
node_modules | 5 years ago | |
views | 5 years ago | |
.dockerignore | 5 years ago | |
Dockerfile | 5 years ago | |
README.md | 5 years ago | |
package.json | 5 years ago | |
server.js | 5 years ago | |
server.js.save | 5 years ago |
README.md
Σε αυτό το project υλοποιήσαμε μια web εφαρμογή σε Node Js και Express, η οποία τρέχει σε ένα docker swarm. Το docker swarm επίσης περιλαμβάνει ένα replica set mongodb για την αποθήκευση των δεδομένων. Η αρχιτεκτονική του mongodb replica set φαίνεται παρακάτω.
MongoDB replicas set
Μπαίνουμε στο φάκελο mongoDB_swarm και εκτελούμε
docker-compose build
Στην συνέχεια κάνουμε deploy το stack
docker stack deploy -c docker-compose.yml db
Για να δούμε που τρέχουν το καθένα service εκτελούμε το παρακάτω
docker service ps db_rs1 db_rs2 db_rs3
Με την παρακάτω εντολή βλέπουμε τα δίκτυα του docker και πιο συγκεκριμένα του mongodb:
docker network ls
NodeJS - ExpressJS web app
Στο αρχείο server.js αλλάζουμε τα hostnames κατάλληλα
var connectionString = "mongodb://,,/?replicaSet=&readPreference=secondaryPreferred";
Στην συνέχεια για να δημιουργήσουμε το image τρέχουμε:
docker build -t
Τέλος για την δημιουργία του container τρέχουμε:
docker run --network --name -p 3000:8080