Open In App
Related Articles

Docker – HEALTHCHECK Instruction

Improve Article
Improve
Save Article
Save
Like Article
Like

A HEATHCHECK instruction determines the state of a Docker Container. It determines whether the Container is running in a normal state or not. It performs health checks at regular intervals. The initial state is starting and after a successful checkup, the state becomes healthy. If the test remains unsuccessful, it turns into an unhealthy state

Some options provided by the HEALTHCHECK instruction are – 

  • –interval=: It determines the interval between 2 health check-ups. The default interval is the 30s.
  • –timeout=: If the HEALTHCHECK command exceeds the specified duration, it is categorized as a failure. The default duration is the 30s.
  • –retries=: If it reaches the specified number of retries, the state is considered to be unhealthy. The default number of retries is 3.

In this article, we will see practical examples of how to use the HEALTHCHECK command in your Dockerfile. We will create an Nginx Container and determine it states. Follow the below steps to Check the health of your dockerfile:

Step 1: Create a Dockerfile

You can use the following template to create the Dockerfile.

FROM nginx:latest
HEALTHCHECK --interval=35s --timeout=4s CMD curl -f https://localhost/ || exit 1
EXPOSE 80

In the above Dockerfile, we pull the nginx base image and perform a HEALTHCHECK with the specified interval and timeout. 

Step 2: Build the Docker Image

We can build the Docker Image using the build command.

sudo docker build -t healthcheck-demo .

building the image

Step 3: Run the Container

Here, we will check whether the nginx.conf file exists or not. We will set the Command while running the Docker Container.

sudo docker run --name=healthcheck-demo -d
--health-cmd='stat /etc/nginx/nginx.conf 
|| exit 1' healthcheck-demo

/* This line must be without the breaks, it's done for viewing purpose*/

running the container

Step 4: Determine the state of the Container

You can use the inspect command to determine the state of the Container.

sudo docker inspect --format='' healthcheck-demo

You will get all the details regarding the Container along with the states during all the health checkups.

state of containerhealth of the container

To conclude, in this article we discussed what is HEALTHCHECK instructions, what are its uses, the various options you can use along with it. We used the nginx container to demonstrate the same with practical examples.

Last Updated : 28 Oct, 2020
Like Article
Save Article
Similar Reads