- MERN
- Tailwind CSS
- Docker
- images
- mongo (mongodb)
- optional: mongo-express (mongodb web based interface)
- images
- Run following from root of project
# It pulls and/or creates images
# Creates network, volume, containers
pnpm dev:build # docker compose up -d
# To recreate containers after making changes to local
pnpm dev:rebuild # docker compose up -d --build
# api
docker exec -it app-docker-api-1 sh
# then
ls
# ui
docker exec -it app-docker-ui-1 sh
# then
ls usr/share/nginx/html
# mongodb
docker exec -it app-docker-mongo-1 mongosh -u admin -p admin
# then
show dbs
use books
show collections
db.tech.find()
# To view mongodb from browser
http://localhost:8081
- Run following from root of project
# remove containers
pnpm dev:down # docker compose down --volumes
# to remove app images also
pnpm dev:down:images # docker compose down --volumes --rmi "local"
Without Dockerfile and Compose file
docker network create app-docker-network
docker volume create app-docker-db-volume
docker run -d \
--name app-docker-mongo \
--network app-docker-network \
-v app-docker-db-volume:/data/db \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin \
mongo
docker run -d \
--name app-docker-mongo-express \
--network app-docker-network \
-p 8081:8081 \
-e ME_CONFIG_MONGODB_ADMINUSERNAME=admin \
-e ME_CONFIG_MONGODB_ADMINPASSWORD=admin \
-e ME_CONFIG_MONGODB_SERVER=app-docker-mongo \
mongo-express
- Open mongo-express from browser by http://localhost:8081 to view mongodb as web based interface
- or access to mongodb from
mongosh
cli
docker exec -it app-docker-mongo mongosh -u admin -p admin
pnpm install -r
cd api
# Create copy of .env.sample and rename it to .env in the same location
pnpm run dev
# UI
cd ui
# Create copy of .env.sample and rename it to .env in the same location
pnpm run dev
# remove containers
docker rm -f app-docker-mongo app-docker-mongo-express
# remove network
docker network rm app-docker-network
# remove volume
docker volume rm app-docker-db-volume