Report this

What is the reason for this report?

Is there a Docker Registry storage driver for Object Storage?

Posted on December 4, 2017

I would like to use DigitalOcean Object Storage to store my Docker Registry Images.



This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

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.

Spaces was designed to be inter-operable with the S3 API so that you can take advantage of existing integrations. I am currently running a Docker Registry instance backed by Spaces using the S3 storage driver. The key difference to note when using it with Spaces is that you must set the regionendpoint explicitly.

Here’s the storage stanza from the config.yml that I’m using:

storage:
  s3:
    accesskey: MY_SPACES_KEY
    secretkey: MY_SPACES_SECRET
    region: us-east-1
    regionendpoint: https://nyc3.digitaloceanspaces.com
    bucket: name-of-my-docker-reg-space
    encrypt: false
    keyid: mykeyid
    secure: true
    v4auth: true
    chunksize: 5242880
    rootdirectory: /

Hope that helps!

I am also unable to push images by using the DigitalOcean space as storage driver.

Error during push:

e66510abeff4: Pushing [==================================================>]  3.072kB
64fd97a6ab22: Pushing [==================================================>]  56.73MB
d9bac93ee926: Pushing  2.048kB
227e20177880: Pushing [====================================>              ]  48.03MB/65.2MB
fe9c7b6dc22a: Pushing [==================================================>]  4.224MB
6b7b1fa2531c: Waiting 
6dfaec39e726: Waiting 
error parsing HTTP 403 response body: unexpected end of JSON input: ""

Error message from Registry:

level=error msg="response completed with error" err.code="blob unknown"

I retried today and I was able to push now. Not sure why it don’t work before. The only difference is that I tried to push over a SSH tunnel and now push through a nginx ingress controller.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.