178 lines
3.9 KiB
Markdown
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 |