feat(lab-04): complete Phase 5 - Storage & S3 lab

Phase Plan:
- 05-PLAN.md: Combined execution plan for efficiency
- 05-RESEARCH.md: Domain research on volumes and MinIO

Test Scripts (4):
- 01-volumes-test.sh: Volume persistence verification
- 02-minio-test.sh: MinIO S3 API testing
- 03-persistence-test.sh: Database persistence verification
- 99-final-verification.sh: End-to-end verification

Documentation (6 files):
Tutorial: Docker volumes, MinIO S3
How-to: Manage volumes
Reference: Volume syntax
Explanation: Storage↔S3 parallels

Infrastructure:
- docker-compose.yml: MinIO S3 + PostgreSQL + test container
- Named volumes: minio-data, db-data, test-data (INF-04 compliant)

Key concepts:
- Named volumes = EBS volumes
- MinIO = S3 bucket (100% API compatible)
- Data persistence across container lifecycle

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Luca Sacchi Ricciardi
2026-04-03 15:25:46 +02:00
parent 23a9ffe443
commit a021fe796b
12 changed files with 467 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
# Reference: Docker Volume Syntax
## Volumes in docker-compose.yml
### Named Volume
```yaml
volumes:
my-data:
driver: local
```
### Mount Volume in Service
```yaml
services:
app:
volumes:
- my-data:/app/data # Named volume
- ./local:/host/path # Bind mount
```
### Volume Options
```yaml
volumes:
data:
driver: local
driver_opts:
type: none
o: bind
device: /host/path
```
## CLI Commands
- `docker volume create`
- `docker volume ls`
- `docker volume inspect`
- `docker volume rm`
- `docker volume prune`