3.9 KiB
3.9 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 configurationDOCKER_COMPOSE_README.md- Documentationbackend/.env- Backend environment variablesfrontend/.env- Frontend environment variablesmineru/.env- Mineru environment variables (if exists)
Optional Files (for data preservation)
backend/storage/- Backend storage directorymineru/storage/- Mineru storage directorybackend/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
Building Individual Services
# 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
# 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-500MBfrontend.tar: ~100-300MBmineru-api.tar: ~1-3GBredis.tar: ~30-50MBlegal-doc-masker-images.tar.gz: ~1-2GB (compressed)
🔒 Security Notes
- Use encrypted transfer (SCP, SFTP) for sensitive environments
- Verify image integrity after transfer
- Update environment variables for target environment
- Ensure proper network security on target environment
📞 Support
If you encounter issues:
- Check the full
DOCKER_MIGRATION_GUIDE.md - Verify all required files are present
- Check Docker logs:
docker-compose logs -f - Ensure sufficient disk space and permissions