怎么使用docker企业版搭建自己的私有注册服务器-mile米乐体育
这篇文章将为大家详细讲解有关怎么使用docker企业版搭建自己的私有注册服务器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
docker 真的很酷,特别是和使用虚拟机相比,转移 docker 镜像十分容易。如果你已准备好使用 docker,那你肯定已从 docker hub 上拉取过完整的镜像。docker hub 是 docker 的云端注册服务器服务,它包含成千上万个供选择的 docker 镜像。如果你开发了自己的软件包并创建了自己的 docker 镜像,那么你会想有自己私有的注册服务器。如果你有搭配着专有许可的镜像,或想为你的构建系统提供复杂的持续集成(ci)过程,则更应该拥有自己的私有注册服务器。
docker 企业版包括 docker 可信注册服务器docker trusted registry(dtr)。这是一个具有安全镜像管理功能的高可用的注册服务器,为在你自己的数据中心或基于云端的架构上运行而构建。在接下来,我们将了解到 dtr 是提供安全、可重用且连续的软件供应链的一个关键组件。你可以通过我们的免费托管小样立即开始使用,或者通过下载安装进行 30 天的免费试用。下面是开始自己安装的步骤。
配置 docker 企业版
dtr 运行于通用控制面板(ucp)之上,所以开始前要安装一个单节点集群。如果你已经有了自己的 ucp 集群,可以跳过这一步。在你的 docker 托管主机上,运行以下命令:
#拉取并安装ucp dockerrun-it-rm-v/var/run/docker.sock:/var/run/docker.sock-nameucpdocker/ucp:latestinstall
当 ucp 启动并运行后,在安装 dtr 之前你还有几件事要做。针对刚刚安装的 ucp 实例,打开浏览器。在日志输出的末尾应该有一个链接。如果你已经有了 docker 企业版的许可证,那就在这个界面上输入它吧。如果你还没有,可以访问 docker 商店获取 30 天的免费试用版。
准备好许可证后,你可能会需要改变一下 ucp 运行的端口。因为这是一个单节点集群,dtr 和 ucp 可能会以相同的端口运行它们的 web 服务。如果你拥有不只一个节点的 ucp 集群,这就不是问题,因为 dtr 会寻找有所需空闲端口的节点。在 ucp 中,点击“管理员设置 -> 集群配置”并修改控制器端口,比如 5443。
安装 dtr
我们要安装一个简单的、单节点的 dtr 实例。如果你要安装实际生产用途的 dtr,那么你会将其设置为高可用(ha)模式,即需要另一种存储介质,比如基于云端的对象存储或者 nfs(lctt 译注:network file system,网络文件系统)。因为目前安装的是一个单节点实例,我们依然使用默认的本地存储。
首先我们需要拉取 dtr 的 bootstrap 镜像。boostrap 镜像是一个微小的独立安装程序,包括了连接到 ucp 以及设置和启动 dtr 所需的所有容器、卷和逻辑网络。
使用命令:
#拉取并运行dtr引导程序 dockerrun-it-rmdocker/dtr:latestinstall-ucp-insecure-tls
注意:默认情况下,ucp 和 dtr 都有自己的证书,系统无法识别。如果你已使用系统信任的 tls 证书设置 ucp,则可以省略 -ucp-insecure-tls
选项。另外,你可以使用 -ucp-ca
选项来直接指定 ucp 的 ca 证书。
然后 dtr bootstrap 镜像会让你确定几项设置,比如 ucp 安装的 url 地址以及管理员的用户名和密码。从拉取所有的 dtr 镜像到设置全部完成,只需要一到两分钟的时间。
保证一切安全
一切都准备好后,就可以向注册服务器推送或者从中拉取镜像了。在做这一步之前,让我们设置 tls 证书,以便与 dtr 安全地通信。
在 linux 上,我们可以使用以下命令(只需确保更改了 dtr_hostname 变量,来正确映射我们刚刚设置的 dtr):
#从dtr拉取ca证书(如果curl不可用,你可以使用wget) dtr_hostname=curl-khttps://$(dtr_hostname)/ca>$(dtr_hostname).crt sudomkdir/etc/docker/certs.d/$(dtr_hostname) sudocp$(dtr_hostname)/etc/docker/certs.d/$(dtr_hostname) #重启docker守护进程(在ubuntu14.04上,使用`sudoservicedockerrestart`命令) sudosystemctlrestartdocker
对于 mac 和 windows 版的 docker,我们会以不同的方式安装客户端。转入“设置 -> 守护进程”,在“不安全的注册服务器”部分,输入你的 dtr 主机名。点击“应用”,docker 守护进程应在重启后可以良好使用。
推送和拉取镜像
现在我们需要设置一个仓库来存放镜像。这和 docker hub 有一点不同,如果你做的 docker 推送仓库中不存在,它会自动创建一个。要创建一个仓库,在浏览器中打开 https://
进入刚才的网页之后,点击“新建仓库”按钮来创建新的仓库。
我们会创建一个用于存储 alpine linux 的仓库,所以在名字输入处键入 “alpine”,点击“保存”(在 dtr 2.5 及更高版本中叫“创建”)。
现在我们回到 shell 界面输入以下命令:
#拉取alpinelinux的最新版 dockerpullalpine:latest #登入新的dtr实例 dockerlogin#标记上alpine使能推送其至你的dtr dockertagalpine:latest /admin/alpine:latest #向dtr推送镜像 dockerpush /admin/alpine:latest
就是这样!我们刚刚推送了最新的 alpine linux 的一份拷贝,重新打了标签以便将其存储到 dtr 中,并将其推送到我们的私有注册服务器。如果你想将镜像拉取至不同的 docker 引擎中,按如上所示设置你的 dtr 证书,然后执行以下命令:
#从dtr中拉取镜像 dockerpull/admin/alpine:latest
dtr 具有许多优秀的镜像管理功能,例如镜像的缓存、映像、扫描、签名甚至自动化供应链策略。这些功能我们在后期的博客文章中更详细的探讨。
关于“怎么使用docker企业版搭建自己的私有注册服务器”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。