Implementing a healthcheck for a Docker Container

Valentsea
Total
0
Shares

Among all the week 1’s home-work exercises, I like the most about how you implement a healthcheck for a Docker Container. So I thought of writing an article about it

  • Docker allows us to tell the platform on how to test that our application is healthy.

  • When Docker starts a container, it monitors the process that the container runs.

  • If the process ends, the container exits.

  • We can specify certain options before the CMD operation, these includes:

  • It is self-explanatory

  • 172.17.0.2 – this is the IP Address of the EC2 instance

HEALTHCHECK --interval=5s CMD ping -c 1 172.17.0.2

--interval=DURATION (default: 30s)
--timeout=DURATION (default: 30s)
--start-period=DURATION (default: 0s)
--retries=N (default: 3)
Enter fullscreen mode

Exit fullscreen mode

Please visit my GitHub Repository for CI-CD/Docker/ECS/ECR articles on various topics being updated on constant basis.



1. launch a container from busybox image

docker container run -dt --name busybox busybox sh

# check container is up and running
docker ps
Enter fullscreen mode

Exit fullscreen mode



2. get the ip address of the busybox container

docker inspect busybox 
Enter fullscreen mode

Exit fullscreen mode



3. Create a Dockerfile

FROM busybox
HEALTHCHECK --interval=5s CMD ping -c 1 172.17.0.2
Enter fullscreen mode

Exit fullscreen mode



4. build the container

docker build -t monitoring .

dpocker images
Enter fullscreen mode

Exit fullscreen mode



5. launch a container from the monitoring image

docker container run -dt --name monitor monitoring sh
Enter fullscreen mode

Exit fullscreen mode

  • docker ps to see the healthcheck

  • depending upon the interval you specify the healthcheck would be perfomon accordings

  • it is healthy because it is able to ping the busybox container

  • HW-4-healthy.pdf



6. docker inspect monitor to see the healthy exitcode 0



7. healthy exitcode 0



8. docker stop busybox, Docker Container becomes unhealthy

docker ps
Enter fullscreen mode

Exit fullscreen mode



9. specify interval=5s and retries=1

docker run -dt --name tmp --health-cmd "curl -f http://localhost" --health-interval=5s --health-retries=1 busybox sh
Enter fullscreen mode

Exit fullscreen mode



10. Clean Up

  • We have successfuly learnt how to implement a healthcheck on a Docker Container.
Total
0
Shares
Valentsea

Auto Text | HTML CSS & JavaScript

#shorts #html #css #javascript #trending #tutorials This video shows to create auto text typing. Source code: shorturl.at/ctCFP Sound…

You May Also Like