/MERN-app

A simple MERN (as in MongoDB, Express, React, Node.js) application

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

MERN-app

A simple MERN (as in MongoDB, Express, React, Node.js) application


MongoDB server

  1. start the MongoDB container:
docker run \
  -d \
  -p 27017:27017 \
  --name mongodb \
  --network backend \
  -e MONGO_INITDB_ROOT_USERNAME=mongoadmin \
  -e MONGO_INITDB_ROOT_PASSWORD=secret \
  mongo:latest

Notes:

  • -d: run as "detached"
  • -p: exposed ports: :
  • --name: container name
  • --network: network, must be already existing (docker network create <name>)

MongoDB Shell

  1. start the Node container:
docker run -it \
  -p 8082:8082 \
  --network backend \
  --name dbclient \
  node:lts-alpine sh
  1. disconnect with CTRL+p+q
  2. "attach" the container to the frontend network: docker network connect frontend dbclient
  3. connect to the client container: docker exec -it dbclient bash
root@<cntnr>:/# apt update && apt install -y curl
root@<cntnr>:/# curl -sSLfO https://downloads.mongodb.com/compass/mongosh-1.6.1-linux-x64.tgz
root@<cntnr>:/# tar -xzf mongosh-1.6.1-linux-x64.tgz
root@<cntnr>:/# cp -a mongosh-1.6.1-linux-x64/bin/* /usr/local/bin/
root@<cntnr>:/# mongosh mongodb://mongoadmin:secret@mongodb:27017/
root@<cntnr>:/# 
root@<cntnr>:/# curl -SLfO https://nodejs.org/dist/v18.13.0/node-v18.13.0-linux-x64.tar.xz
root@<cntnr>:/# 
root@<cntnr>:/# 
root@<cntnr>:/#