refactor: replace deprecated docker-compose with docker compose across repository
This commit is contained in:
@@ -43,8 +43,8 @@ done
|
||||
|
||||
```bash
|
||||
# Verifica tutti i servizi nel compose file
|
||||
docker-compose ps --services | while read service; do
|
||||
container=$(docker-compose ps -q $service)
|
||||
docker compose ps --services | while read service; do
|
||||
container=$(docker compose ps -q $service)
|
||||
echo "Service: $service, User: $(docker exec $container whoami)"
|
||||
done
|
||||
```
|
||||
|
||||
@@ -107,7 +107,7 @@ test_no_container_runs_as_root() {
|
||||
fi
|
||||
|
||||
# Get all services from compose file
|
||||
local services=$(docker-compose -f "$compose_file" ps --services 2>/dev/null || echo "")
|
||||
local services=$(docker compose -f "$compose_file" ps --services 2>/dev/null || echo "")
|
||||
|
||||
if [ -z "$services" ]; then
|
||||
echo -e "${YELLOW}SKIP${NC}: No services defined yet"
|
||||
@@ -118,7 +118,7 @@ test_no_container_runs_as_root() {
|
||||
local root_containers=0
|
||||
while IFS= read -r service; do
|
||||
if [ -n "$service" ]; then
|
||||
local container_name=$(docker-compose -f "$compose_file" ps -q "$service" 2>/dev/null || echo "")
|
||||
local container_name=$(docker compose -f "$compose_file" ps -q "$service" 2>/dev/null || echo "")
|
||||
if [ -n "$container_name" ]; then
|
||||
local user=$(docker exec "$container_name" whoami 2>/dev/null || echo "unknown")
|
||||
if [ "$user" = "root" ]; then
|
||||
|
||||
@@ -104,11 +104,11 @@ else
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Test 6: Verify docker-compose service
|
||||
echo -e "${BLUE}[6/6] Verifying docker-compose service...${NC}"
|
||||
# Test 6: Verify docker compose service
|
||||
echo -e "${BLUE}[6/6] Verifying docker compose service...${NC}"
|
||||
# Start container in detached mode
|
||||
if docker compose up -d >/dev/null 2>&1; then
|
||||
echo -e " ${GREEN}✓${NC} docker-compose service started"
|
||||
echo -e " ${GREEN}✓${NC} docker compose service started"
|
||||
|
||||
# Wait for container to be ready
|
||||
sleep 3
|
||||
@@ -120,10 +120,10 @@ if docker compose up -d >/dev/null 2>&1; then
|
||||
# Verify user
|
||||
actual_user=$(docker exec lab01-iam-test whoami 2>/dev/null || echo "unknown")
|
||||
if [ "$actual_user" = "labuser" ]; then
|
||||
echo -e " ${GREEN}✓${NC} docker-compose container runs as non-root"
|
||||
echo -e " ${GREEN}✓${NC} docker compose container runs as non-root"
|
||||
inc_pass
|
||||
else
|
||||
echo -e " ${RED}✗${NC} docker-compose container running as $actual_user (expected labuser)"
|
||||
echo -e " ${RED}✗${NC} docker compose container running as $actual_user (expected labuser)"
|
||||
inc_fail
|
||||
fi
|
||||
else
|
||||
@@ -134,7 +134,7 @@ if docker compose up -d >/dev/null 2>&1; then
|
||||
# Cleanup
|
||||
docker compose down --volumes >/dev/null 2>&1
|
||||
else
|
||||
echo -e " ${RED}✗${NC} Failed to start docker-compose service"
|
||||
echo -e " ${RED}✗${NC} Failed to start docker compose service"
|
||||
inc_fail
|
||||
fi
|
||||
echo ""
|
||||
|
||||
@@ -49,7 +49,8 @@ echo ""
|
||||
|
||||
# Test 3: Non-root container execution (INF-01)
|
||||
echo -e "${BLUE}[3/3] Checking non-root container execution (INF-01)...${NC}"
|
||||
compose_file="labs/lab-01-iam/docker-compose.yml"
|
||||
cd labs/lab-01-iam
|
||||
compose_file="docker-compose.yml"
|
||||
if [ ! -f "$compose_file" ]; then
|
||||
echo -e " ${YELLOW}○${NC} docker-compose.yml not found"
|
||||
all_passed=false
|
||||
@@ -65,11 +66,11 @@ else
|
||||
fi
|
||||
|
||||
# If containers are running, verify they're not root
|
||||
if docker-compose -f "$compose_file" ps --services 2>/dev/null | grep -q .; then
|
||||
if docker compose -f "$compose_file" ps --services 2>/dev/null | grep -q .; then
|
||||
local root_count=0
|
||||
while IFS= read -r service; do
|
||||
[ -z "$service" ] && continue
|
||||
local container=$(docker-compose -f "$compose_file" ps -q "$service" 2>/dev/null || echo "")
|
||||
local container=$(docker compose -f "$compose_file" ps -q "$service" 2>/dev/null || echo "")
|
||||
if [ -n "$container" ]; then
|
||||
local user=$(docker exec "$container" whoami 2>/dev/null || echo "unknown")
|
||||
if [ "$user" = "root" ]; then
|
||||
@@ -77,7 +78,7 @@ else
|
||||
((root_count++)) || true
|
||||
fi
|
||||
fi
|
||||
done <<< "$(docker-compose -f "$compose_file" ps --services 2>/dev/null)"
|
||||
done <<< "$(docker compose -f "$compose_file" ps --services 2>/dev/null)"
|
||||
|
||||
if [ $root_count -eq 0 ]; then
|
||||
echo -e " ${GREEN}✓${NC} All running containers are non-root"
|
||||
@@ -85,7 +86,7 @@ else
|
||||
all_passed=false
|
||||
fi
|
||||
else
|
||||
echo -e " ${YELLOW}○${NC} No containers running (start with docker-compose up)"
|
||||
echo -e " ${YELLOW}○${NC} No containers running (start with docker compose up)"
|
||||
fi
|
||||
fi
|
||||
echo ""
|
||||
|
||||
@@ -149,7 +149,7 @@ COMPOSE_FILE="$PROJECT_ROOT/labs/lab-02-network/docker-compose.yml"
|
||||
if [[ -f "$COMPOSE_FILE" ]]; then
|
||||
print_pass "docker-compose.yml found at $COMPOSE_FILE"
|
||||
|
||||
# Test 9: Verify docker-compose config is valid
|
||||
# Test 9: Verify docker compose config is valid
|
||||
print_test "Test 9: Validate docker-compose.yml syntax"
|
||||
if docker compose -f "$COMPOSE_FILE" config &> /dev/null; then
|
||||
print_pass "docker-compose.yml is valid YAML"
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
| Private bridge network | VPC Private Subnet | Isolamento di rete |
|
||||
| Named volume | EBS volume | Persistenza dati |
|
||||
| Resource limits (cpus, memory) | DB instance class | Allocazione risorse |
|
||||
| docker-compose up | RDS create | Deploy command |
|
||||
| docker compose up | RDS create | Deploy command |
|
||||
| docker logs | CloudWatch logs | Logging e monitoring |
|
||||
| pg_isready | RDS health check | Verifica disponibilità |
|
||||
| Non-root user | IAM authentication | Controllo accessi |
|
||||
@@ -140,10 +140,10 @@
|
||||
|
||||
| Operazione | Docker | RDS/AWS |
|
||||
|------------|--------|---------|
|
||||
| Deploy | docker-compose up | aws rds create-db-instance |
|
||||
| Stop | docker-compose stop | aws rds stop-db-instance |
|
||||
| Start | docker-compose start | aws rds start-db-instance |
|
||||
| Scale | docker-compose up --scale | aws rds modify-db-instance |
|
||||
| Deploy | docker compose up | aws rds create-db-instance |
|
||||
| Stop | docker compose stop | aws rds stop-db-instance |
|
||||
| Start | docker compose start | aws rds start-db-instance |
|
||||
| Scale | docker compose up --scale | aws rds modify-db-instance |
|
||||
| Status | docker ps | aws rds describe-db-instances |
|
||||
| Logs | docker logs | aws rds describe-db-log-files |
|
||||
| Backup | pg_dump | aws rds create-db-snapshot |
|
||||
|
||||
@@ -126,7 +126,7 @@ if docker ps --format '{{{{Names}}}}' | grep -q "^lab05-db$"; then
|
||||
else
|
||||
echo -e "${YELLOW}SKIP${NC} (container non in esecuzione)"
|
||||
inc_skip
|
||||
echo -e "${YELLOW}Avviare i container con: docker-compose up -d${NC}"
|
||||
echo -e "${YELLOW}Avviare i container con: docker compose up -d${NC}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
@@ -83,7 +83,7 @@ echo -n "[TEST] Verifica container database in esecuzione... "
|
||||
if ! docker ps --format '{{{{Names}}}}' | grep -q "^lab05-db$"; then
|
||||
echo -e "${YELLOW}SKIP${NC} (container non in esecuzione)"
|
||||
inc_skip
|
||||
echo -e "${YELLOW}Avviare i container con: docker-compose up -d${NC}"
|
||||
echo -e "${YELLOW}Avviare i container con: docker compose up -d${NC}"
|
||||
echo ""
|
||||
echo "Risultato: $pass_count PASS, $fail_count FAIL, $skip_count SKIP"
|
||||
exit 0
|
||||
|
||||
@@ -76,7 +76,7 @@ echo -n "[TEST] Verifica container database in esecuzione... "
|
||||
if ! docker ps --format '{{{{Names}}}}' | grep -q "^lab05-db$"; then
|
||||
echo -e "${YELLOW}SKIP${NC} (container non in esecuzione)"
|
||||
inc_skip
|
||||
echo -e "${YELLOW}Avviare i container con: docker-compose up -d${NC}"
|
||||
echo -e "${YELLOW}Avviare i container con: docker compose up -d${NC}"
|
||||
echo ""
|
||||
echo "Risultato: $pass_count PASS, $fail_count FAIL, $skip_count SKIP"
|
||||
exit 0
|
||||
|
||||
@@ -115,7 +115,7 @@ echo -n "[TEST] Verifica container database in esecuzione... "
|
||||
if ! docker ps --format '{{{{Names}}}}' | grep -q "^lab05-db$"; then
|
||||
echo -e "${YELLOW}SKIP${NC} (container non in esecuzione)"
|
||||
inc_skip
|
||||
echo -e "${YELLOW}Avviare i container con: docker-compose up -d${NC}"
|
||||
echo -e "${YELLOW}Avviare i container con: docker compose up -d${NC}"
|
||||
echo ""
|
||||
echo "Risultato: $pass_count PASS, $fail_count FAIL, $skip_count SKIP"
|
||||
exit 0
|
||||
|
||||
@@ -129,7 +129,7 @@ if docker ps --format '{{{{Names}}}}' | grep -q "^lab05-db$"; then
|
||||
else
|
||||
echo -e "${RED}FAIL${NC}"
|
||||
inc_fail
|
||||
echo "Avviare i container: docker-compose up -d"
|
||||
echo "Avviare i container: docker compose up -d"
|
||||
echo ""
|
||||
echo "Risultato: $pass_count PASS, $fail_count FAIL, $skip_count SKIP"
|
||||
exit 1
|
||||
|
||||
@@ -57,7 +57,7 @@ Deploya il database nella rete privata.
|
||||
Esegui:
|
||||
```bash
|
||||
# Avvia i container
|
||||
docker-compose up -d
|
||||
docker compose up -d
|
||||
|
||||
# Verifica che il database sia in esecuzione
|
||||
docker ps | grep lab05-db
|
||||
|
||||
@@ -79,10 +79,10 @@ Simula un failure del database.
|
||||
Esegui:
|
||||
```bash
|
||||
# Ferma il container
|
||||
docker-compose stop db
|
||||
docker compose stop db
|
||||
|
||||
# Rimuovi il container (NON il volume!)
|
||||
docker-compose rm -f db
|
||||
docker compose rm -f db
|
||||
|
||||
# Verifica che il container sia rimosso
|
||||
docker ps -a | grep lab05-db
|
||||
@@ -99,7 +99,7 @@ Crea un nuovo container con lo stesso volume.
|
||||
Esegui:
|
||||
```bash
|
||||
# Riavvia il database
|
||||
docker-compose up -d db
|
||||
docker compose up -d db
|
||||
|
||||
# Attendi che sia pronto
|
||||
sleep 10
|
||||
@@ -162,12 +162,12 @@ Rimuovi TUTTO e ricrea da zero.
|
||||
Esegui:
|
||||
```bash
|
||||
# Ferma e rimuovi tutto
|
||||
docker-compose down -v
|
||||
docker compose down -v
|
||||
|
||||
# Nota: -v rimuove anche i volumi! NON usare -v per preservare dati
|
||||
|
||||
# Riavvia
|
||||
docker-compose up -d
|
||||
docker compose up -d
|
||||
|
||||
# Verifica che i dati siano PERSI (corretto con -v)
|
||||
docker exec lab05-db psql -U lab05_user -d lab05_db -c "
|
||||
|
||||
Reference in New Issue
Block a user