Docker-compose
"Compose"
services:
mkdocs:
build:
context: .
dockerfile: Dockerfile
container_name: mkdocs
image: nome-immagine:tag
ports:
- "80:8000"
volumes:
- ./docs:/docs
- ./mkdocs.yml:/mkdocs.yml
networks:
- net_mkdocs
restart: unless-stopped
mem_limit: 512m # Limite massimo di memoria utilizzabile dal container
mem_reservation: 128M # Quantità minima di memoria "riservata" garantita al container
memswap_limit: 1g # Limite combinato di RAM + swap (oltre `mem_limit` usa lo swap)
cpus: "0.5" # Limita l'uso della CPU a metà di un core
cpuset: "1" # Limita l'esecuzione del container al solo core 1
depends_on:
- postgres
postgres:
image: postgres:15
container_name: postgres
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: mydb
ports:
- "5432:5432"
networks:
- net_mkdocs
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -U user"]
interval: 10s # intervallo di tempo tra i check
timeout: 5s # tempo massimo di attesa per ogni check
retries: 5 # numero di tentativi prima di considerare il container non sano
networks:
net_mkdocs:
driver: bridge
volumes:
pgdata:
name: pgdata