Docker HealthCheck
> docker run -d -p 80:80 --name c_nginx --health-cmd "curl -f http://localhost || exit 1" --health-interval 5s --health-timeout 3s --health-retries 3 --health-start-period 6s nginx
daha sonra docker ps yaparak çalışan container'larımızı listelediğimizde status kısmında çalışma zamanı ve healthcheck durumu yazdığını görürüz "STATUS Up 8 seconds (healthy)"
> docker ps
Dockerfile ile kullanımı
dockerfile dosya içeriği:
FROM nginx:latest
RUN apt-get update &&apt-get install -y curl
HEALTHCHECK --interval=3s --timeout=3s CMD curl -f http://localhost || exit 1
EXPOSE 80
docker file bulundugu dosya klasörüne giderek cmd aşağıdaki kodu çalıştırarak image oluşturuyoruz ve daha sonra run komutu ile ayağa kaldırıyoruz
> docker build -t nginx:1 .
> docker run -d -p 80:80 --name c_nginx nginx:1
docker-compose.yml ile kullanımı
version: '3.1'
services:
s_nginx:
container_name: c_nginx
image: nginx:latest
ports:
- 80:80
healthcheck:
test: ["CMD","curl","-f","http://localhost"]
interval: 5s
timeout: 10s
retries: 3
start_period: 10s
container'ımızı ayağa kaldırmak için docker-compose.yml dosyamızınız bulunduğu klasörü cmd açarak aşağıdaki kodu çalıştırıyoruz.
> docker-compose up -d