feat(02-03): create docker-compose.yml with user directive
- Defines service with local image build - Specifies user directive (1000:1000) for non-root execution - Includes container_name for easy reference - Follows INF-01 requirement (no root) - Enables test scripts to verify configuration Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
37
labs/lab-01-iam/docker-compose.yml
Normal file
37
labs/lab-01-iam/docker-compose.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# Lab 01 - IAM & Sicurezza
|
||||||
|
# Docker Compose configuration per container non-root
|
||||||
|
#
|
||||||
|
# Questo file definisce i servizi per il lab, assicurandosi che
|
||||||
|
# TUTTI i container girino come utente non-root (INF-01).
|
||||||
|
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
# Container di test per verificare l'esecuzione non-root
|
||||||
|
lab01-test:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
image: lab01-non-root:latest
|
||||||
|
container_name: lab01-iam-test
|
||||||
|
# CRITICO: user directive assicura esecuzione non-root (INF-01)
|
||||||
|
# Format: UID:GID
|
||||||
|
# 1000:1000 corrisponde all'utente labuser creato nel Dockerfile
|
||||||
|
user: "1000:1000"
|
||||||
|
# Non esponiamo porte (non necessario per questo lab)
|
||||||
|
# Le porte private non devono essere esposte sull'host (best practice)
|
||||||
|
restart: unless-stopped
|
||||||
|
# Nessun volume mount necessario per questo lab semplice
|
||||||
|
# I volumi saranno introdotti nei lab successivi
|
||||||
|
healthcheck:
|
||||||
|
# Healthcheck per verificare che il container sia sano
|
||||||
|
test: ["CMD", "sh", "-c", "whoami | grep -q labuser"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 3
|
||||||
|
start_period: 5s
|
||||||
|
|
||||||
|
# Nessuna rete definita - useremo la default bridge network
|
||||||
|
# Le reti custom isolate saranno introdotte nel Lab 02 (Network & VPC)
|
||||||
|
|
||||||
|
# Nessun volume definito - i volumi saranno introdotti nel Lab 04 (Storage & S3)
|
||||||
Reference in New Issue
Block a user