Able to pull acr images but unable to check manifest - docker

I want help in understanding how docker pull works for acr images. I have a private acr repository.
So i run az acr login -n <repo> --expose-token --output tsv --query accessToken to print out the access token.
Then i use this access token to login through docker: docker login <repo>.azureacr.io --username 00000000-0000-0000-0000-000000000000 --password '<ACCESS TOKEN>'. The login works.
Then i try pulling the docker image: docker pull <image>:<tag> which works, but when i do docker manifest inspect <image>:<tag> it fails with the following exception:
errors:
denied: requested access to the resource is denied
unauthorized: authentication required
Questions:
How do i check what permissions I have/need to run these docker commands?
If docker pull is working is it wrong to assume docker manisfest inspect will also work? I mean docker somehow needs to check if the image with the tag exists before pulling it right?

Related

Can't push or pull image after adding a new tag (docker hub)

I'm trying to push a new image to docker hub when adding tags.
Initially the push works ok:
docker build -t myimage .
docker tag myimage myuser/myrepo:latest
docker push myuser/myrepo:latest
but after i add another tag it didn't let me:
docker tag myuser/myrepo:latest myuser/myrepo:another
i got:
denied: requested access to the resource is denied
it's the same when i try to pull my repo:
docker pull nicoplw/culo2:latest
i got:
Error response from daemon: pull access denied for nicoplw/culo2,
repository does not exist or may require 'docker login': denied:
requested access to the resource is denied
Note that my repo is in docker hub after i initially pushed it.
I tried with
docker logout
docker login
and also with
docker login -u username -p password
i always get "login successfull"
i tried every stackoverflow and docker forums question but i couldn't make it work. What am i missing here?
thanks!
It happens to be that you can only have 1 private repository.
If you create a second one it will somehow be created, but if you try to pull or push it will give this pull/push login error.
Solution: delete all your repositories if you want to push a new one, or make it public.
I think the issue is with your push command
Can you revisit your command or can you share the exert command which you are using

Unable to pull docker image for pixel streaming on Linux server

I am unable to pull docker image for pixel streaming on Linux server.
[root#server~]# docker pull ghcr.io/epicgames/pixel-streaming-signalling-server:4.27.2
Error response from daemon: unauthorized
When I tried docker login it returns "Login Succeeded", but I am still unable to download the image.
[root#server~]# echo $CR_PAT | docker login ghcr.io -u <username> --password-stdin
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
After 2 days of research, I found out that the GitHub personal access token did not have sufficient rights to download the image. After modifying these rights, I was able to download this image.

Not able to sign in using docker to canister.io - Authorization server did not include a token in the response

Ok so I'm trying to make Bitbucket build a docker image using Bitbucket pipelines and I could sign in a week ago but now it doesn't work anymore.
And I'm using the same username and password, here it's a list of the commands I have tried and their output.
docker login cloud.canister.io:5000 --username $CANISTER_USERNAME --password $CANISTER_PASSWORD:
Error response from daemon: Get https://cloud.canister.io:5000/v2/: authorization server did not include a token in the response
docker login --username $CANISTER_USERNAME --password $CANISTER_PASSWORD cloud.canister.io:5000
Error response from daemon: Get https://cloud.canister.io:5000/v2/: authorization server did not include a token in the response
docker login cloud.canister.io:5000 --username $CANISTER_USERNAME
Password: xxxxxxxxxxxxxxxxxxx
Error saving credentials: error storing credentials - err: exit status 1, out: Cannot autolaunch D-Bus without X11 $DISPLAY
echo "$CANISTER_PASSWORD" | docker login cloud.canister.io:5000 --username $CANISTER_USERNAME --password-stdin
Error response from daemon: Get https://cloud.canister.io:5000/v2/: authorization server did not include a token in the response
echo "$CANISTER_PASSWORD" | docker login --username $CANISTER_USERNAME --password-stdin cloud.canister.io:5000
Error response from daemon: Get https://cloud.canister.io:5000/v2/: authorization server did not include a token in the response
I've also tried on a local machine and tried to do it without environment variables also tried to sign out and then try to sign in again but nothing works
for logging in this worked for me:
docker login --username=USERNAME cloud.canister.io:5000
Unfortunately, i am still getting this error message whenever i try to push my image.
I had the same issue when trying to push a new image to cloud.canister.io. It turned out I had not created the repository through the web frontend yet.
After creating the repo on cloud.canister.io I could successfully push my image up.
First you need to create an empty repo on cloud.canister.io
website with same name of the image you are trying to push.
Then you will be able to push to that repo.
Make sure you have authenticated the canister account using
sudo docker login --username=<username> cloud.canister.io:5000
Been a while. But this helped me:
docker push (registryFullUrl)/$(dockerId)/$(imageName):$(MAJOR).$(MINOR).$(PATCH)
where:
$(registryFullUrl) = cloud.canister.io:5000
$(dockerId) = your canister id
$(imageName) = repository name
$(MAJOR).$(MINOR).$(PATCH) = version
This worked for me. Hopefully this will be helpful to somebody.
I built an image from a custom Dockerfile. I am running Docker Desktop on my Win11.
docker build -t <image>:<tag> .
I logged into canister.io.
docker login --username=<username> --password=<username> cloud.canister.io:5000
I tagged the build.
docker tag <image>:<tag> cloud.canister.io:5000/<canister-namespace>/<canister-repo>
I pushed the image to canister.
docker push cloud.canister.io:5000/<canister-namespace>/<canister-repo>
I deleted the image from my Docker Desktop and I tried to pull it from canister.
docker pull cloud.canister.io:5000/<canister-namespace>/<canister-repo>
Here's an examples with some dummy values:
docker build -t tc5:tc5tag .
docker login --username=myusername --password=mypassword cloud.canister.io:5000
docker tag tc5:tc5tag cloud.canister.io:5000/mynamespace/testrepo
docker push cloud.canister.io:5000/mynamespace/testrepo
# pull test
docker pull cloud.canister.io:5000/mynamespace/testrepo

How to pull from docker hub - pull access denied repository does not exist or may require 'docker login'

I have pulled images from Docker before - some time ago - but now it seems things have changed.
Take for example https://hub.docker.com/r/datagrip. Documentation states installation as follows
docker pull sath89/oracle-xe-11g
This no longer works with current Docker hub. I can try latest
[myuser:~] $ docker pull sath89/oracle-xe-11g
Using default tag: latest
Error response from daemon: pull access denied for sath89/oracle-xe-11g, repository does not exist or may require 'docker login'
Or tag 11.2
[myuser:~] 1 $ docker pull sath89/oracle-xe-11g:11.2
Error response from daemon: pull access denied for sath89/oracle-xe-11g, repository does not exist or may require 'docker login'
Of course I can try login - login succeeds but pulling images is still not working.
[myuser:~] 1 $ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: mydockerhubuser
Password:
WARNING! Your password will be stored unencrypted in /home/myuser/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[myuser:~] $ docker pull sath89/oracle-xe-11g:11.2
Error response from daemon: pull access denied for sath89/oracle-xe-11g, repository does not exist or may require 'docker login'
[myuser:~] 1 $
What is the secret nowadays for pulling images from Docker hub? It used to be so easy. Too easy clearly.

denied: requested access to the resource is denied

I wrote gitlab-ci.yml file.
I Login to gitlab registry with this command
docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
and in the next step build the docker image
docker build -t $REGISTRY .
But When i push docker image
docker push $REGISTRY
I get this error
denied: requested access to the resource is denied
How can fix this error?
Gitlab is probably not finding any repository of the same name as the registry you're trying to push to.
For example if you do docker push gitlab.helloworld.com/prefix/repo-name, then you need to have a project prefix/repo-name
You can read about more about this issue here
tag the image with {{username}}/{{imagename}}:{{version}}
docker login
docker push {{username}}/{{imagename}}:{{version}}

Resources