Docker deploy to app platform failed with error related to image

Posted October 20, 2020 2.2k views
DockerDigitalOcean App Platform

After successfull deployments, new one failed with error message

13:28:20 INFO[0020] Found cached layer, extracting to filesystem 
 13:28:20 error building image: error building stage: failed to execute command: extracting fs from image: removing whiteout .wh.tmp: unlinkat //tmp: device or resource busy
 13:28:20 exit status 1
 13:28:20  ! Build failed (exit code 1) 

There weren’t any changes to dockerfile in project. How it could be fixed?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
7 answers

This looks like an internal bug. I’m an engineer on our App Platform team and have filed a ticket to track this internally. In the mean time I recommend triggering a rebuild by using the “Deploy” button in the top right.

  • Hi @cbaker,

    Manually triggering the deployment doesn’t seem to fix the issue. Is there anything else I can do. At the moment, the only way I can make this work is by deleting the app and then creating it again; which is not ideal.

  • Hi @cbaker, this problem looks like it is recurring - apps deploy properly on first deployment, but any subsequent deployments fail with “Deploy Error: Container Image Pull Failed”. Like @ppoliani, the only solution appears to be to destroy the app and create a new one from the same github repo.

Based on the Dockerfile reference, you can specify a port in one of two ways:

ENV <key> <value>
ENV <key>=<value> …
Because you have spaces around =, Docker thinks you’re using the first form where your key is PORT and your value is = 8000 (which is not a number and probably why Cloud Run isn’t working).

To fix it, either specify the port without spaces (ENV PORT=8000) or without an equals sign (ENV PORT 8000).

The issue still there, any updates?

Is there any update on this one? I have now triggered 10 manual deployments to no avail. This is critical for us at this point. Is there any mitigation steps we can follow?

I’m having the same issue.

We’re triggering deployment from Github action, which builds docker image in our own K8S cluster, at the first time when building Docker Image and pushing to DO registry it’s okay, but from the second time it says many messages like “Layer already exists” and then starts hanging until Docker throws error “Device or Resource is Busy”.

In the beginning I was thinking it’s because my Docker daemon has some problem, but then I observe that for image with tag that built frequently, the chance it fails to upload Docker image to DO is much higher. I tried building with new tag and it’s successful in the first try

And every time I have to re-trigger job and wait until it’s successful.

If you are using the “ADD” command change it to “COPY” in your Dockerfile.

Same problem for me. I had to change Dockerfile RUN statement to invalidate cache layer and the next deploy was successful