Skip to content

Latest commit

 

History

History
243 lines (162 loc) · 3.96 KB

File metadata and controls

243 lines (162 loc) · 3.96 KB

Docker Quick Reference

🚀 Quick Start Commands

Start the application

docker-compose up -d

Start in development mode (with hot reload)

docker-compose --profile dev up -d app-dev

Stop the application

docker-compose down

View logs

# All services
docker-compose logs -f

# Only app
docker-compose logs -f app

# Only MongoDB
docker-compose logs -f mongodb

🔧 Build Commands

Build/Rebuild the Docker image

docker-compose build

# Force rebuild without cache
docker-compose build --no-cache

Rebuild and restart

docker-compose up -d --build

📊 Monitoring Commands

Check running containers

docker-compose ps

Check resource usage

docker stats

View service health

docker inspect rbac-app | grep -A 10 Health

🛠️ Maintenance Commands

Restart a specific service

docker-compose restart app
docker-compose restart mongodb

Stop and remove all containers, networks

docker-compose down

Stop and remove containers, networks, and volumes (⚠️ deletes DB data)

docker-compose down -v

Remove everything including images

docker-compose down -v --rmi all

🐛 Debugging Commands

Execute commands inside app container

docker-compose exec app sh

Execute commands inside MongoDB container

docker-compose exec mongodb sh

# Or directly access MongoDB shell
docker-compose exec mongodb mongosh -u admin -p admin123

Check MongoDB connection from app container

docker-compose exec app node -e "console.log(process.env.MONGO_URI)"

View environment variables

docker-compose exec app env

🧹 Cleanup Commands

Remove stopped containers

docker container prune

Remove unused images

docker image prune

Remove unused volumes

docker volume prune

Remove all unused data (containers, networks, images, volumes)

docker system prune -a --volumes

📦 Database Operations

Backup MongoDB data

docker-compose exec mongodb mongodump --uri="mongodb://admin:admin123@localhost:27017/rbac_db?authSource=admin" --out=/data/backup

Restore MongoDB data

docker-compose exec mongodb mongorestore --uri="mongodb://admin:admin123@localhost:27017/rbac_db?authSource=admin" /data/backup/rbac_db

Access MongoDB shell

docker-compose exec mongodb mongosh -u admin -p admin123 --authenticationDatabase admin

List databases

docker-compose exec mongodb mongosh -u admin -p admin123 --authenticationDatabase admin --eval "show dbs"

🔍 Troubleshooting

Port already in use

Update .env file:

APP_PORT=5001
MONGO_PORT=27018

Check if containers are healthy

docker-compose ps

View detailed logs with timestamps

docker-compose logs -f --timestamps

Restart everything from scratch

docker-compose down -v
docker-compose build --no-cache
docker-compose up -d

📝 NPM Scripts (from package.json)

npm run docker:build   # Build Docker image
npm run docker:up      # Start services
npm run docker:down    # Stop services
npm run docker:logs    # View logs
npm run docker:dev     # Start in dev mode

🌐 Access Points

🔐 Default Credentials

MongoDB:

  • Username: admin
  • Password: admin123
  • Database: rbac_db

⚠️ Change these in .env for production!

📚 Additional Resources