How to docker push to DigitalOcean private container registry for a Remote User

Posted October 5, 2020 3.2k views
DockerDigitalOcean API and CLI (doctl)

I have successfully setup the private Docker registry with authentication. However this authentication is only for docker pull command. Doing a docker push command gives me

denied: requested access to the resource is denied
unauthorized: authentication required

I understand the concept of doctl registry login and pushing from my end as admin user. How can i do the same for a remote user without giving the remote user read and write API access token from DO control panel.

by generating and sharing doctl registry docker-config ( from my end) he was able to pull from the DO private registry but push failed with the above msg

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
2 answers

Docker Registry is an application that manages storing and delivering Docker container images. Docker images guarantee consistent runtime environment through virtualization, but building an image can take time— registries centralize container images and reduce build times.In this tutorial, you’ll set up and secure your own private Docker Registry using Docker Compose and Nginx. Then, you’ll be able to push custom Docker images to your private registry and pull the image securely from a remote server. Choose your operating system to get started.

Hi there @favas,

I believe that you need to make sure that your image is tagged with fully qualified destination path:

docker tag your_image

After that, when pushing the image again you need to use the following syntax:

docker push

Let me know how it goes!

  • This is already working for me in my end ( local machine with doctl with api r/w permissions. What i want to achieve is a remote machine which can authenticate to DigitalOcean Private Docker Registry and push images. Here i am not comfortable with setting doctl in that remote server with write permission API token. Thats a huge security risk

    • Hello,

      I believe that the generated credentials that you have are read-only.

      In order to be able to push images as well, you need to download or generate a config with read and write permissions.

      DigitalOcean docker registry

      Let me know how it goes!