Docker HealthCheck

Docker HealthCheck 



docker üzerinde çalışan bir container veya container içerisindeki çalışan uygulamanın sağlıklı bir şekilde çalışıp çalışmadığını kontrol edebilmek için kullanılır.

healthy http status code      200-300
unHealthy http status         400-500

Http status codes
100-199 bilgilendirme
200-299 başarılı sonuç
300-399 yönlendirme
400-499 istemci hatası
500-599 sunucu hatası

HealthCheck parametreleri:
--health-cmd "curl -f http://localhost || exit 1" => curl gidicek http üzerinde çalışan kontainer kendi üzerinde istek yapıcak, exit 1 gelen http koduna göre cıkıcak

--health-interval 5s => her 5 saniyede bir localhostu çağırsın.

--health-timeout 3s => 3 saniye içinde cevap vermezse bu işlemi sonlandırıcak.

--health-retries 3 => hata alırsam kaç kere deniyyim 

--health-start-period 6s => contanier ayağa kalktıktan sonra 6 saniye sonra istek atmaya başlasın

kullanım örneği:

>    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

Related Posts

Docker HealthCheck
4/ 5
Oleh