distribution: filesystem layer verification failed for digest sha256

I have my own registry set up running on Cloud Foundry with an S3 backend. I’m using registry 2.6.0 and docker 1.13.0. I can push images but when pulling them, after the pulling of all layers, I get the following output:

$ docker pull registry.scapp.io/ubuntu
Using default tag: latest
latest: Pulling from ubuntu
e2d7e96004fd: Verifying Checksum
1bacd3c8ccb1: Download complete
869d5d3f92f8: Download complete
f8a4e25b40ce: Download complete
f40e1388890a: Download complete
filesystem layer verification failed for digest sha256:e2d7e96004fdd10e671372a8b5e861bae78bcf878e062d13f6c470311936d500

where the one layer that didn’t complete is around 100 MB and the ones that downloaded successfully are smaller. You can try it yourselves. The registry doesn’t use any authentication for now.

Here’s my config.yml for reference:

version: 0.1

log:
  level: debug
  formatter: text
  fields:
    service: registry
    environment: staging

storage:
  s3:
    accesskey: 5484335407854a4c9dc88e01206fc148/CF_P8_7DF1A116_E212_49EC_BC19_B9C976D5A7B1
    secretkey: mysecretkey
    region: nil
    regionendpoint: ds31s3.swisscom.com
    bucket: registry-tobi
    chunksize: 10485760
    v4auth: false
  redirect:
    disable: true

http:
  addr: :8080
  secret: mysecret

  headers:
    X-Content-Type-Options: [nosniff]

  debug:
    addr: 127.0.0.1:5001

redis:
  addr: xjq6yg2j0f62ik5n.service.consul:38046
  password: mypassword

health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3
  tcp:
  - addr: xjq6yg2j0f62ik5n.service.consul:38046
    timeout: 3s
    interval: 10s
    threshold: 3

About this issue

  • Original URL
  • State: open
  • Created 7 years ago
  • Comments: 32 (7 by maintainers)

Most upvoted comments

I came across this issue while fetching from ECR today.

I have tried to rebuild the image with some options, and fix the issue finally. Steps:

  1. Build with some options, in order to remove the cache and checksum
docker build --rm=true --no-cache --disable-content-trust=true -t image-name .
docker tag image-name 192.168.0.2:5000/image-name
docker push --disable-content-trust=true 192.168.0.2:5000/image-name
  1. Try to docker pull in any server, it should be work now without any exception tips.

  2. Use normal operation to build the image.

docker build -t image-name .
docker tag image-name 192.168.0.2:5000/image-name
docker push 192.168.0.2:5000/image-name
  1. Try to docker pull in any server, it works.

We have started experiencing this issue when using Docker with Azure Container Registry.

Maybe it is old docker builder issue? In my CI some of images build via docker 1.12 could not be pulled on servers running docker 1.12 resulting in same layer error. When I use docker 17.* to build the images I don’t get the error when pulling them.