Simple Chat Room in NodeJS, expressJS and mongoDB in Docker Swarm
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.6 KiB

Σε αυτό το project υλοποιήσαμε μια web εφαρμογή σε Node Js και Express, η οποία τρέχει σε ένα docker swarm. Το docker swarm επίσης περιλαμβάνει ένα replica set mongodb για την αποθήκευση των δεδομένων. Η αρχιτεκτονική του mongodb replica set φαίνεται παρακάτω.
![](https://media.discordapp.net/attachments/646803567747006475/721113347713531934/docker_swarm.jpg)
### 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://<hostname1>,<hostname2>,<hostname3>/?replicaSet=<setname>&readPreference=secondaryPreferred";
Στην συνέχεια για να δημιουργήσουμε το image τρέχουμε:
docker build -t <image-name>
Τέλος για την δημιουργία του container τρέχουμε:
docker run --network <network-name> --name <container-name> -p 3000:8080 <image-name>