What is the version of your ORAS CLI
v0.16.0
What would you like to be added?
When Docker Desktop for Windows or macOS installed and is not currently running, running oras will encounter an error.
$ oras login $reg --username $name --password $secret
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error: error storing credentials - err: exit status 1, out: `Post "[http://ipc/registry/credstore-updated":](http://ipc/registry/credstore-updated%22:) open \\.\pipe\dockerBackendApiServer: The system cannot find the file specified.`
It is better to have something like
$ oras login $reg --username $name --password $secret
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error: error storing credentials: credential store is configured to `desktop` and docker desktop seems not running
It would be even better to give users an option to update the credential store. A sample output on Windows could be
$ oras login $reg --username $name --password $secret
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error: error storing credentials: credential store is configured to `desktop` and docker desktop seems not running
Do you want to update the global credential store to `wincred`? [y/N]
Why is this needed for ORAS?
oras in general does not require docker or dockerd. oras reuses the docker config file and docker desktop sets the credential store to docker desktop when docker desktop is installed.
Here are the scenarios for the complete behavior.
- Scenario 1: Running
oras on Linux without docker installed
- oras works and will save the credentials to
~/.docker/config.json on oras login.
- Scenario 2: Running
oras on Linux with docker installed
- oras works and reuses the docker credentials in
~/.docker/config.json. If credential store is configured, oras also re-uses the credential store.
- Scenario 3: Running oras on Windows without docker desktop installed
- Scenario 4: Running oras on Windows with docker desktop installed
- oras works but reuses the docker credentials in
~/.docker/config.json. By default, it requires docker desktop running to run oras.
- Mitigation step: Edit
~/.docker/config.json and replace desktop with wincred for the credStore field.
- Scenario 5: Running oras on macOS without docker desktop installed
- Scenario 6: Running oras on macOS with docker desktop installed
- Same as Scenario 4 but replace
desktop with osxkeychain.
It would be better to let the users know what's the next steps, such as run Docker Desktop or update the config, when they encounter the weird pipe error.
Are you willing to submit PRs to contribute to this feature?
What is the version of your ORAS CLI
v0.16.0
What would you like to be added?
When Docker Desktop for Windows or macOS installed and is not currently running, running
oraswill encounter an error.It is better to have something like
It would be even better to give users an option to update the credential store. A sample output on Windows could be
Why is this needed for ORAS?
orasin general does not requiredockerordockerd.orasreuses the docker config file and docker desktop sets the credential store to docker desktop when docker desktop is installed.Here are the scenarios for the complete behavior.
orason Linux without docker installed~/.docker/config.jsononoras login.orason Linux with docker installed~/.docker/config.json. If credential store is configured, oras also re-uses the credential store.~/.docker/config.json. By default, it requires docker desktop running to run oras.~/.docker/config.jsonand replacedesktopwithwincredfor thecredStorefield.desktopwithosxkeychain.It would be better to let the users know what's the next steps, such as run Docker Desktop or update the config, when they encounter the weird pipe error.
Are you willing to submit PRs to contribute to this feature?