legal-doc-masker/MIGRATION_QUICK_REFERENCE.md

3.5 KiB

Docker Migration Quick Reference

🚀 Quick Migration Process

Source Environment (Export)

# 1. Build images first (if not already built)
docker-compose build

# 2. Export all images
./export-images.sh

# 3. Transfer files to target environment
# Option A: SCP
scp -r docker-images-export-*/ user@target-server:/path/to/destination/

# Option B: USB Drive
cp -r docker-images-export-*/ /Volumes/USB_DRIVE/

# Option C: Compressed archive
scp legal-doc-masker-images-*.tar.gz user@target-server:/path/to/destination/

Target Environment (Import)

# 1. Copy project files
scp docker-compose.yml user@target-server:/path/to/destination/
scp DOCKER_COMPOSE_README.md user@target-server:/path/to/destination/

# 2. Import images
./import-images.sh

# 3. Start services
docker-compose up -d

# 4. Verify
docker-compose ps

📋 Essential Files to Transfer

Required Files

  • docker-compose.yml - Unified compose configuration
  • DOCKER_COMPOSE_README.md - Documentation
  • backend/.env - Backend environment variables
  • frontend/.env - Frontend environment variables
  • mineru/.env - Mineru environment variables (if exists)

Optional Files (for data preservation)

  • backend/storage/ - Backend storage directory
  • mineru/storage/ - Mineru storage directory
  • backend/legal_doc_masker.db - Database file

🔧 Common Commands

Export Commands

# Manual export
docker save legal-doc-masker-backend-api:latest -o backend-api.tar
docker save legal-doc-masker-frontend:latest -o frontend.tar
docker save legal-doc-masker-mineru-api:latest -o mineru-api.tar
docker save redis:alpine -o redis.tar

# Compress for transfer
tar -czf legal-doc-masker-images.tar.gz *.tar

Import Commands

# Manual import
docker load -i backend-api.tar
docker load -i frontend.tar
docker load -i mineru-api.tar
docker load -i redis.tar

# Extract compressed archive
tar -xzf legal-doc-masker-images.tar.gz

Service Management

# Start all services
docker-compose up -d

# Stop all services
docker-compose down

# View logs
docker-compose logs -f [service-name]

# Check status
docker-compose ps

🌐 Service URLs

After successful migration:

⚠️ Troubleshooting

Port Conflicts

# Check what's using ports
lsof -i :8000
lsof -i :8001
lsof -i :3000

# Modify docker-compose.yml if needed
ports:
  - "8002:8000"  # Change external port

Permission Issues

# Fix script permissions
chmod +x export-images.sh
chmod +x import-images.sh
chmod +x setup-unified-docker.sh

# Fix directory permissions
sudo chown -R $USER:$USER backend/storage mineru/storage

Disk Space Issues

# Check available space
df -h

# Clean up Docker
docker system prune -a

📊 Expected File Sizes

  • backend-api.tar: ~200-500MB
  • frontend.tar: ~100-300MB
  • mineru-api.tar: ~1-3GB
  • redis.tar: ~30-50MB
  • legal-doc-masker-images.tar.gz: ~1-2GB (compressed)

🔒 Security Notes

  1. Use encrypted transfer (SCP, SFTP) for sensitive environments
  2. Verify image integrity after transfer
  3. Update environment variables for target environment
  4. Ensure proper network security on target environment

📞 Support

If you encounter issues:

  1. Check the full DOCKER_MIGRATION_GUIDE.md
  2. Verify all required files are present
  3. Check Docker logs: docker-compose logs -f
  4. Ensure sufficient disk space and permissions