Bobcares

Docker error EOF – How we tackle it

by | Aug 9, 2020

Are you looking for a solution to Docker error EOF? We can help you fix it.

Here at Bobcares, we have seen several causes for this error while troubleshooting Docker issues as part of our Docker Hosting Support for Docker users, web hosts, and online service providers.

Today we’ll take a look at the cause for this error and how to fix it.

 

The root cause for Docker error EOF

This error can occur in different situations depending on the error message.

Let’s take an example of an error message. Here is an error message that appears while trying to open a backup file:

tar -cf /tmp/backup-images.tar dtr-registry-<replica-id>
...
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
...

When we run a DTR backup job, the bootstrap script for the backup command will spin a dtr-phase2 container. Most of the backup work is performed here itself.

Then the bootstrapper will monitor the progress of dtr-phase2. It does via an ongoing call to the ContainerWait API endpoint that blocks until an exit status is returned from the container.

The ContainerWait API doesn’t perform a large amount of traffic on the wire if any at all. This creates a huge problem if a load balancer is configured incorrectly that involves communication and is not configured to keep connections alive for a large enough amount of time. This will lead to the load balancer to cut the connection and finally end up with EOF error.

 

Resolution for Docker error EOF

Let’s now see how our Support Engineers tackle this error.

Here are the steps that we follow to test for a UCP loadbalancer timeout independently of the dtr backup command:

As an Admin user, we download and source a UCP client certificate bundle.

Then we test if docker waits for a long-running container that times out after approximately the same amount of time that dtr backup is prematurely exiting.

For that, we run the below command.

time docker wait $(docker ps -qaf name=ucp-controller |head -n1)

As a result of the above command, if it prematurely exits with an error in approximately the same amount of time as dtr backup, then a load balancer may be terminating the connection.

So to fix this issue, we increase the tcp_keepalive setting on the load balancer balancing traffic across the DTR replicas to a value of 5 minutes.

[Need any further assistance in fixing Docker errors? – We’re available 24*7]

 

Conclusion

Today, we saw the resolution to this Docker error and saw how our Support Engineers tackle it.

Are you using Docker based apps?

There are proven ways to get even more out of your Docker containers! Let us help you.

Spend your time in growing business and we will take care of Docker Infrastructure for you.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.