legal-doc-masker/MIGRATION_QUICK_REFERENCE.md

178 lines
3.9 KiB
Markdown

# Docker Migration Quick Reference
## 🚀 Quick Migration Process
### Source Environment (Export)
```bash
# 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)
```bash
# 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
```bash
# 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
```bash
# 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
```bash
# 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
```
### Building Individual Services
```bash
# Build specific service only
docker-compose build backend-api
docker-compose build frontend
docker-compose build mineru-api
# Build and restart specific service
docker-compose up -d --build backend-api
# Force rebuild (no cache)
docker-compose build --no-cache backend-api
# Using the build script
./build-service.sh backend-api --restart
./build-service.sh frontend --no-cache
./build-service.sh backend-api celery-worker
```
## 🌐 Service URLs
After successful migration:
- **Frontend**: http://localhost:3000
- **Backend API**: http://localhost:8000
- **Mineru API**: http://localhost:8001
## ⚠️ Troubleshooting
### Port Conflicts
```bash
# 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
```bash
# 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
```bash
# 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