-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to nerdctl push container
after nerdctl login
when using pass
credsStore on Linux
#2553
Comments
FYI, this works fine for me on macOS (I know the ticket is about Linux; just providing a datapoint). |
@jandubois able to repro in openSUSE Tumbleweed with the steps outlined above |
This fails on macOS as well when using the Using $ docker-credential-osxkeychain list | jq -r '.["https://index.docker.io/v1/"]'
jandubois
$ echo https://index.docker.io/v1/ | docker-credential-osxkeychain get | jq -r .ServerURL
https://index.docker.io/v1/
$ echo https://index.docker.io/v1/ | docker-credential-osxkeychain get | jq -r .ServerURL
https://index.docker.io/v1/
$ echo https://index.docker.io | docker-credential-osxkeychain get | jq -r .ServerURL
https://index.docker.io Compare with $ docker-credential-none list | jq -r '.["https://index.docker.io/v1/"]'
jandubois
$ echo https://index.docker.io/v1/ | docker-credential-none get | jq -r .ServerURL
https://index.docker.io/v1/
$ echo https://index.docker.io | docker-credential-none get | jq -r .ServerURL
parse error: Invalid numeric literal at line 1, column 12
$ echo index.docker.io | docker-credential-none get | jq -r .ServerURL
parse error: Invalid numeric literal at line 1, column 12 I found that However, this may still be a regression against Rancher Desktop 1.3.x, which didn't configure a credentials helper inside the VM at all, so credentials would just be stored in |
Yes, this is a regression against 1.3.0 (because it didn't configure the credential helpers), but has been broken since 1.4.1: $ nerdctl login
Enter Username: jandubois
Enter Password:
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
$ nerdctl pull busybox
docker.io/library/busybox:latest: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:3614ca5eacf0a3a1bcc361c939202a974b4902b9334ff36eb29ffe9011aaad83: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:dcdf379c574e1773d703f0c0d56d67594e7a91d6b84d11ff46799f60fb081c52: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:62aedd01bd8520c43d06b09f7a0f67ba9720bdc04631a8242c65ea995f3ecac8: done |++++++++++++++++++++++++++++++++++++++|
layer-sha256:19d511225f94f9b5cbf3836eb02b5273c01b95da50735742560e3e45b8c8bfcc: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 2.4 s total: 758.8 (316.0 KiB/s)
$ nerdctl tag busybox jandubois/busybox:none3
$ nerdctl push jandubois/busybox:none3
INFO[0000] pushing as a reduced-platform image (application/vnd.docker.distribution.manifest.list.v2+json, sha256:c12b4701670111b6d3518ab989138dbf9b284d464982ceaa21128e280242e0f9)
index-sha256:c12b4701670111b6d3518ab989138dbf9b284d464982ceaa21128e280242e0f9: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:dcdf379c574e1773d703f0c0d56d67594e7a91d6b84d11ff46799f60fb081c52: done |++++++++++++++++++++++++++++++++++++++|
config-sha256:62aedd01bd8520c43d06b09f7a0f67ba9720bdc04631a8242c65ea995f3ecac8: done |++++++++++++++++++++++++++++++++++++++|
elapsed: 1.4 s total: 2.2 Ki (1.6 KiB/s) |
While we can update the We could create a fork and make it more forgiving in what arguments it accepts, but it would be better if this was fixed in If |
I've created a PR against We'll need new releases for the WSL distro and Alpine Lima ISO with an update to nerdctl 0.22.1 to get the fix. |
Fixed in nerdctl v0.22.2 (v0.22.1 had a regression on Fedora and Arch Linux) / alpine-lima v0.2.20 / Lima v0.11.3 |
I seem to have issues with nerdctl 0.22.2 on macOS; I'll continue the investigation later, but currently it looks like:
Confusingly, this works on Windows, where we should be using the same version (0.22.2)… so it's probably something silly I'm doing. |
Hmm, turns out my issue was just that we needed to login (but the error was really bad). |
Actual Behavior
I'm unable to push a container image by using
nerdctl push thehejik/busybox:latest
after deleting default docker's~/.docker/config.json
and providing my personal dockerhub credentials. Docker/moby RD backend works normally.Rancher-desktop version 1.4.1-373-g9051f530 built from main branch installed on openSUSE 15.3 and Ubuntu 20.04.
Steps to Reproduce
pass
according to https://docs.rancherdesktop.io/getting-started/installation#pass-setup:nerdctl login
and provide your private DockerHub credentials (wait forLogin Succeeded
)nerdctl pull busybox
nerdctl <id_of_busybox_image> thehejik/busybox:latest
(replacethehejik
by your docker username)nerdctl push thehejik/busybox:latest
Result
The busybox image is not pushed with Error message
FATA[0002] server message: insufficient_scope: authorization failed
:Expected Behavior
The image should be pushed to DockerHub as with Docker.
Additional Information
Works ok with docker/moby RD backend. Also docker installed on the system is working fine.
Rancher Desktop Version
1.4.1-main
Rancher Desktop K8s Version
any
Which container runtime are you using?
containerd (nerdctl)
What operating system are you using?
Ubuntu
Operating System / Build Version
Ubuntu 20.04, openSUSE 15.3
What CPU architecture are you using?
x64
Linux only: what package format did you use to install Rancher Desktop?
deb
Windows User Only
No response
The text was updated successfully, but these errors were encountered: