Nexus OSS Docker proxy repository authentication required - docker-registry

When I
docker pull mcr.microsoft.com/dotnet/aspnet
in log
admin org.sonatype.nexus.repository.docker.internal.V2Handlers - Error: HEAD /v2/mcr.microsoft.com/dotnet/aspnet/manifests/latest: 401 - org.sonatype.nexus.repository.docker.internal.V2Exception: authentication required
but i set user & pass in docker repo in section http Authentication section.
where is the problem ?!

Related

Docker image pull fails with not found: manifest

I'm using Docker version 20.10.8, build 3967b7d on CentOS-7.9 host and Sonatype Nexus Repository Manager version - OSS 3.30.1-01 being used as private docker registry. When i tried to pull the image using docker-compose it always fails with below error.
$ docker-compose up -d
Pulling prometheus (internal-registry.com:8335/prometheus:latest)...
ERROR: manifest for internal-registry.com:8335/prometheus:latest not found: manifest unknown: manifest unknown
Error from Sonatype Nexus server log as follows.
2021-10-11 10:35:41,307+0530 WARN [qtp657241891-125] admin org.sonatype.nexus.repository.docker.internal.V2Handlers - Error: HEAD /v2/library/prometheus/manifests/latest: 401 - org.sonatype.nexus.repository.docker.internal.V2Exception: authentication required
2021-10-11 10:35:42,106+0530 WARN [qtp657241891-560] admin org.sonatype.nexus.repository.docker.internal.V2Handlers - Error: GET /v2/library/prometheus/manifests/latest: 401 - org.sonatype.nexus.repository.docker.internal.V2Exception: authentication required.
Docker host docker login to our private registry is successful.
1) Repo - Allow clients to use the V1 API to interact with this repository (Tick mark enabled).
2) DockerHub(Proxy) - Allow clients to use the V1 API to interact with this repository (Tick mark enabled).
3) Group - Allow clients to use the V1 API to interact with this repository (Tick mark enabled).
4) Nexus UI > Security > Anonymous Access > Allow anonymous users to access the server - (Tick mark enabled).
Username: anonymous
Realm: Local Autherizing Realm
5) Nexus UI > Security > Role > Create role > Create Nexus role > Created new role
Privileges: nx-repository-view-*-*-*-broswe
nx-repository-view-*-*-*-read
Roles: Contained - nx-anonymous
6) Nexus UI > Security > Users > anonymous(Active)
Roles: Granted: read_and-browse
7) Nexus UI > Security > Realms - Docker Bearer Token Realm (Is in Active List)
Still getting not found: manifest unknown: manifest unknown error while pulling docker image. How do i solve this problem? Any pointer would be helpful. Thanks!
This looks like some kind of network/memory/hardware issue, probably on internal-registry.com, assuming that prometheus is an available image on that registry. I would first load test that service, then verify dns, then the firewall, then the memory, then the power supply, then the hardware of that service to troubleshoot it.
Finally, I would try to recreate this error in another environment, again, against internal-registry.com. If you can't, then the issue is with the docker client, but I suspect that you will be able to replicate this issue on other clients.
Make sure the docker image (Above was wrong).
This Link has helped to create a Read & Browse privilege on Repository in the Nuxus side. Post that able to pull the image successfully.

Unable to login to harbor using Docker cli, failed with status: 401 Unauthorized

We have setup harbor(v2.2.1) on AWS ECS.
We are able to login into Harbor portal with default admin/Harbor12345 credentials.
However when we try to login to harbor from docker using below command, we are getting "Error response from daemon: login attempt to https://harbor.company.com/v2/ failed with status: 401 Unauthorized".
Command: docker login https://harbor.company.com
When we check the harbor core logs, it says that "failed to authenticate harbor_registry_user: Failed to authenticate user, due to error 'Invalid credentials'"
Note: We have changed below harbor service URL's to our company specific URL's. (eg: https://harbor-jobservice.company.com)
(core, registry, jobservice, registryctl, portal, trivy-adapter)
We are using AWS RDS and AWS Redis.
We can even see the Trivy-Adapter health check as Passed on Harbor Portal. (meaning harbor services are able to communicate internally.)

Unable to anonymously pull images from okd/openshift-origin docker registry using docker pull

Using okd/openshift-origin 3.11 (and previous versions) we've been unable to get anonymous image pulls working.
We've tried adding various groups to the registry-viewer role as indicated by the instructions from the merge request where the feature was added.
We've tried:
oc policy add-role-to-user registry-viewer system:anonymous -n <project>
oc policy add-role-to-user registry-viewer system:unauthenticated -n <project>
When viewing the registry in the GUI the access policy shows Anonymous: Allow all unauthenticated users to pull images
Yet this is the result when trying to pull:
docker pull docker-registry-default.$cluster/$project/$image:latest
Error response from daemon: Get https://docker-registry-default.$cluster/v2/$project/$image/manifests/latest: unauthorized: authentication required
What are we missing?
If there is a $HOME/.docker/config.json credential file on the client machine, could you try whether you can pull the image after removing the credential file (or backup) ?
Because docker pull is using $HOME/.docker/config.json by default, it can cause unexpected authorization trouble like this by authenticating as the credential file. As removing docker credential file(config.json) you can verify whether docker pull is conducted by unauthenticated.

401 Unauthorized Error while login into nexus docker registry

I am using nexus as a Docker container, with tag sonatype/nexus3:3.14.0. Also, I connect nexus with LDAP for user better user management it is helpful for group and role management.
For my case, I create a blog-store and create two docker registry repository, one hosted and one group. I try to log in, on hosted and it works fine. But when I tried to connect into the grouped repository I get
401 Unauthorized. I also tried to connect with admin credentials but I get the same error too,
Error response from daemon: login attempt to https:///v2/ failed with status: 401 Unauthorized.
Suggestions are welcome
PParthenis
Enable the Docker Bearer Token Realm in Nexus Security->Realms Tab.
As stated in here
In my case Docker Bearer Token Realm security realm was already enabled. But prioritizing this realm did the trick.
If Docker Bearer Token Realm is already enabled in Nexus Security->Realms Tab, Increase its priority.
For more info https://help.sonatype.com/repomanager3/system-configuration/access-control/realms

Nexus 3.1 as a docker proxy for DockerHub seems to require authentication but how?

I'm using Docker Toolbox 1.12.3 on Windows 7. I've configured Nexus OSS 3.1.0-04 to have a Docker Proxy repository to connect to DockerHub.
When I try to run
docker run 192.168.161.103:10001/hello-world
I get image not found. When I look in the Nexus log files I get the following errors:
2016-11-23 17:09:59,244+0000 WARN [qtp253940842-402] admin
org.sonatype.nexus.repository.docker.internal.V2Handlers - Error: GET
/v2/hello-world/manifests/latest: 401 -
org.sonatype.nexus.repository.docker.internal.V2Exception:
authentication required 2016-11-23 17:09:59,244+0000 WARN
[qtp253940842-402] admin
org.sonatype.nexus.repository.docker.internal.V2Handlers - Error: GET
/v2/hello-world/manifests/latest: 404 -
org.sonatype.nexus.repository.docker.internal.V2Exception$ManifestUnknownByTag:
manifest unknown 2016-11-23 17:09:59,260+0000 WARN [qtp253940842-402]
admin org.sonatype.nexus.repository.docker.internal.V2Handlers -
Error: GET /v2/hello-world/manifests/latest: 404 -
org.sonatype.nexus.repository.docker.internal.V2Exception$ManifestUnknownByTag:
manifest unknown
Docker is configured with 192.168.161.103 (Nexus) configured as an insecure registry as I'm using a self-signed certificate to connect to Nexus.
How do I configure Nexus 3 to connect to DockerHub using the authentication credentials that it's expecting?

Resources