- 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>
38 lines
1.3 KiB
YAML
38 lines
1.3 KiB
YAML
# 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)
|