前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用SSL保护Docker注册

如何使用SSL保护Docker注册

作者头像
程序你好
发布2018-07-20 16:07:40
6830
发布2018-07-20 16:07:40
举报
文章被收录于专栏:程序你好

确保Docker注册受到SSL的保护是至关重要的。在这个快速教程中,我们将了解如何做到这一点。

正如前一篇文章中提到的,如果注册中心没有配置SSL,使用用户名和密码的注册表是不安全的。

我们将向注册表中添加SSL证书。为了使事情更简单,我们将使用Let's Encrypt,这是免费的。

一旦我们生成了凭证,我们就必须将它们添加到注册系统中。我们将创建一个名为证书的目录,该目录将包含证书pem文件和密钥pem文件。然后,我们将把生成的证书命名为crt.pem和key.crt 拷贝到证书目录里。

我们将按照上一篇文章中所遵循的步骤生成密码。

docker run --entrypoint htpasswd registry:2 -Bbn {your-user} {your-password} > auth/password-file

现在,我们已经准备好通过指定证书来创建注册表。为此,我们将把证书目录挂载到Docker容器中。然后,我们将指定注册中心在容器的文件系统上查找凭据的位置。

代码语言:javascript
复制
docker run -d -p 5000:5000 --restart=always --name registry -v `pwd`/auth:/auth -v `pwd`/certificates:/certificates -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/password-file -e REGISTRY_HTTP_TLS_CERTIFICATE=/certificates/crt.pem -e REGISTRY_HTTP_TLS_KEY=/certificates/key.pem registry:2

因此,您的注册中心将获取指定的凭据,并将使用创建的证书。

下一步是做DNS映射,并添加一个DNS条目,将子域定向到注册表的IP。

但是,如果您只想测试它,您可以在本地运行注册表,只需更改/etc/hosts并添加此条目。

代码语言:javascript
复制
127.0.0.1 registry.{your certificate's domain }

一旦你通过浏览器导航到 https://registry.{your certificate's domain }:5000

您将会获取返回200的状态码,您的浏览器将识别您的连接是安全的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序你好 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档