Skip to content
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

Add d4mac client side FAQ #3671

Merged
merged 11 commits into from
Jun 23, 2017
Merged

Add d4mac client side FAQ #3671

merged 11 commits into from
Jun 23, 2017

Conversation

londoncalling
Copy link
Contributor

@londoncalling londoncalling commented Jun 20, 2017

What's changed

-Added an FAQ re: client side certificates on Docker for Mac

Related

docker/for-mac#1320 (comment)

Netlify preview direct links

Docker for Mac FAQ on client-side certs

Update to Docker for Mac FAQ on server side CA certificates per @YanLi

Docker for Windows FAQ on client-side certs

Reviewers

@matthewbarr @ebriney @friism @YangLi @mstanleyjones @JimGalasyn

Signed-off-by: Victoria Bialas victoria.bialas@docker.com

@ebriney
Copy link
Member

ebriney commented Jun 21, 2017

@londoncalling, it works on windows too

@londoncalling
Copy link
Contributor Author

Thanks @ebriney I'll add it to both sets of docs. @YangLi is testing and helping to review the docs.

@londoncalling londoncalling changed the title WIP: add d4mac client side FAQ Add d4mac client side FAQ Jun 21, 2017
@londoncalling
Copy link
Contributor Author

londoncalling commented Jun 21, 2017

@ebriney @YangLi @mstanleyjones @friism Please review this carefully, via the Netlify links provided.

  • For Docker for Mac, I pulled the topics on adding certificates into the Getting Started: Adding security certificates (The FAQ topics are still there but they link to the Getting Started topics.)

  • For Docker for Windows, I left the topics in the FAQs for now (How do I add custom CA certificates? and How do I add client certificates?). My main concern here is whether what I have is accurate for Docker for Windows? How much more or different examples and information should we have for Windows? I didn't provide as much information for Windows as for Mac because I wasn't sure if what I have applies.

the registry will produce error messages on the command line, as well as on the
registry.

### Directory structures for certificates
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if it'd be useful to link to https://docs.docker.com/engine/security/certificates/? That document has more details about the directory structure for /etc/docker/certs.d

`~/.docker/certs.d/<MyRegistry>:<Port>/client.key`.

When the Docker for Mac application starts up, it copies certificates from your
Mac folders to `~/.docker/certs.d` in the database.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this say something like "...it copies the ~/.docker/certs.d folder on your Mac to the com.docker.driver.amd64-linux/etc/docker/certs.d directory in the database." instead? Also, I'm not sure if mentioning the database is helpful for folks who weren't doing git commands before.

Maybe "...it copies the ~/.docker/certs.d folder on your Mac into the /etc/docker/certs.d directory in the xhyve VM." ?


```
/Users/<user>/.docker/certs.d/
└── 192.168.203.139:5858
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since ~/docker/certs.d/<MyRegistry>:<Port>/client.key etc. was mentioned above, for consistency do we want to change the folder name from 192.168.203.139:5858 to <MyRegistry>:<Port>?

Alternately, since https://docs.docker.com/engine/security/certificates/#creating-the-client-certificates uses "localhost:5000" as the hostname with port, maybe we should use that instead? Similar with the example below.

@@ -331,14 +334,96 @@ This option removes/resets all Docker data _without_ a reset to factory defaults

![Uninstall or reset Docker Edge features](images/settings-uninstall-edge.png)

## Adding security certificates
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps "Adding TLS certificates" instead of "security certificates"?

@londoncalling
Copy link
Contributor Author

@cyli Thanks for your review, I've incorporated all of your comments. Have a look if you get a chance. I'm still a little worried about the Windows side of it, but if I don't get any other comments, I'll merge this and figure users will send questions or comments once it's published.

When the Docker for Windows application starts up, it copies certificates from
your Windows folders to `~/.docker/certs.d` in the database.

> * You need to restart Docker for Mac after making any changes to

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Docker for Mac" -> "Docker for Windows"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it, thanks, @JimGalasyn

@@ -331,14 +334,112 @@ This option removes/resets all Docker data _without_ a reset to factory defaults

![Uninstall or reset Docker Edge features](images/settings-uninstall-edge.png)

## Adding TLS certificates

You can add server side (registry) and client side certificates to verify the identity of these entities.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies, one more nitpick: it's not clear what "these entities" refer to. Maybe this sentence can be:

"You can add CA certificates (used to verify registry server certificates) and client certificates (used to authenticate to registries) to your docker daemon."

Or something like that?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cyli makes sense, I'll change that now. I made some more updates, I think it's looking pretty good.

Victoria Bialas added 11 commits June 22, 2017 16:02
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
Signed-off-by: Victoria Bialas <victoria.bialas@docker.com>
@londoncalling londoncalling merged commit a3bbadb into docker:master Jun 23, 2017
@londoncalling
Copy link
Contributor Author

LGTM

@londoncalling londoncalling deleted the d4mac-certs branch July 3, 2017 18:50
@zadeluca
Copy link

@ebriney You confirmed this works for Windows as well? I think I am doing exactly what the FAQ describes but can't make it work, and am left scratching my head. Do you have any clues about what might be wrong? Thanks (I also posted my question to the forum https://forums.docker.com/t/using-client-certificates/41364)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants