A simple MERN (as in MongoDB, Express, React, Node.js) application
- 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>
)
- start the Node container:
docker run -it \
-p 8082:8082 \
--network backend \
--name dbclient \
node:lts-alpine sh
- disconnect with
CTRL+p+q
- "attach" the container to the
frontend
network:docker network connect frontend dbclient
- 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>:/#