-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
docs: add "rootless mode" to exceptions of "Privileged user requirement" #5359
Conversation
Thank you for contributing! It appears your commit message is missing a DCO sign-off, We require all commit messages to have a
There is no need to open a new pull request, but to fix this (and make CI pass), Unfortunately, it's not possible to do so through GitHub's web UI, so this needs You can find some instructions in the output of the DCO check (which can be found Steps to do so "roughly" come down to:
Sorry for the hassle (I wish GitHub would make this a bit easier to do), and let me know if you need help or more detailed instructions! |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5359 +/- ##
=======================================
Coverage 59.78% 59.78%
=======================================
Files 345 345
Lines 23394 23394
=======================================
Hits 13985 13985
Misses 8438 8438
Partials 971 971 |
Signed-off-by: Javier Yong <[email protected]>
Hi @dvdksn, my sincere apologies! Thank you for the in-depth instructions, the sign-off should be reflected for the commit! |
Hi @laurazard @vvoland, I notice that this PR has a merge conflict. Would you prefer if I resolve the conflict and request for approval again? |
Hi @Javiery3889! Yes, we'd appreciate if you could resolve the conflict and then we can merge :) |
Signed-off-by: Javier Yong <[email protected]>
### Privileged user requirement | ||
|
||
`docker login` requires you to use `sudo` or be `root`, except when: | ||
|
||
- Connecting to a remote daemon, such as a `docker-machine` provisioned `docker engine`. | ||
- The user is added to the `docker` group. This will impact the security of your system; the `docker` group is `root` equivalent. See [Docker Daemon Attack Surface](https://docs.docker.com/engine/security/#docker-daemon-attack-surface) for details. | ||
- The Docker daemon is running as a non-root user, i.e. [rootless mode](https://docs.docker.com/engine/security/rootless/). | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed this section in 2f206ff (hence the need for a rebase) because this is not specific to the login command; the sudo restriction applies to all commands.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I'd noticed that and meant to comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @dvdksn, understood and thank you for the clarification!
@laurazard Would that mean that this PR will not be needed? Since “Rootless mode” applies to all commands as well.
Or perhaps it would be to rename this section as “Privileged user exceptions” and add the point below which is specific for docker login
:
Connecting to a remote daemon, such as a
docker-machine
provisioneddocker engine
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would that mean that this PR will not be needed?
That might be the case, apologies 😓
Or perhaps it would be to rename this section as “Privileged user exceptions” and add the point below which is specific for
docker login
:Connecting to a remote daemon, such as a
docker-machine
provisioneddocker engine
.
Not sure about that – docker login
is a bit of a misnomer – it's not doing anything with the engine*, it's merely authenticating/saving credentials for the local user's CLI for a given registry. If you run docker login
and then try to pull an image from a private repo you have credentials for, it doesn't matter whether you use a local engine or a remote daemon, since the CLI will grab the credentials and send them on a per-pull basis to whatever daemon you're using. In effect, the daemon has no concept of "logged in" or "not logged in". That depends entirely on the client calling the engine including credentials for that operation in the call.
*It does call the engine, but only after the user has already typed in credentials/logged in, to verify that the credentials work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@laurazard Understood and thank you for the clarification! I will be closing this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apologies for not mentioning this earlier.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No worries! @laurazard
Modify source files for docs instead as mentioned in docker/docs#20637.