• 售前

  • 售后

热门帖子
入门百科

使用 Docker 企业版搭建自己的私有注册服务器

[复制链接]
123457730 显示全部楼层 发表于 2021-10-25 20:26:06 |阅读模式 打印 上一主题 下一主题
Docker 真的很酷,特别是和使用虚拟机相比,转移 Docker 镜像十分容易。如果你已准备好使用 Docker,那你肯定已从 Docker Hub 上拉取过完备的镜像。Docker Hub 是 Docker 的云端注册服务器服务,它包含成千上万个供选择的 Docker 镜像。如果你开发了自己的软件包并创建了自己的 Docker 镜像,那么你会想有自己私有的注册服务器。如果你有搭配着专有许可的镜像,或想为你的构建体系提供复杂的连续集成(CI)过程,则更应该拥有自己的私有注册服务器。
Docker 企业版包括 Docker 可信注册服务器Docker Trusted Registry(DTR)。这是一个具有安全镜像管理功能的高可用的注册服务器,为在你自己的数据中心或基于云端的架构上运行而构建。在接下来,我们将相识到 DTR 是提供安全、可重用且连续的软件供应链的一个关键组件。你可以通过我们的免费托管小样立即开始使用,或者通过下载安装举行 30 天的免费试用。下面是开始自己安装的步调。
设置 Docker 企业版
DTR 运行于通用控制面板(UCP)之上,所以开始前要安装一个单节点集群。如果你已经有了自己的 UCP 集群,可以跳过这一步。在你的 docker 托管主机上,运行以下下令:
  1. # 拉取并安装 UCP
  2. docker run -it -rm -v /var/run/docker.sock:/var/run/docker.sock -name ucp docker/ucp:latest install
复制代码
当 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 所需的全部容器、卷和逻辑网络。
使用下令:
  1. # 拉取并运行 DTR 引导程序
  2. docker run -it -rm docker/dtr:latest install -ucp-insecure-tls
复制代码
留意:默认情况下,UCP 和 DTR 都有自己的证书,体系无法识别。如果你已使用体系信任的 TLS 证书设置 UCP,则可以省略
  1. -ucp-insecure-tls
复制代码
选项。另外,你可以使用
  1. -ucp-ca
复制代码
选项来直接指定 UCP 的 CA 证书。
然后 DTR bootstrap 镜像会让你确定几项设置,好比 UCP 安装的 URL 所在以及管理员的用户名和密码。从拉取全部的 DTR 镜像到设置全部完成,只必要一到两分钟的时间。
保证统统安全

统统都准备好后,就可以向注册服务器推送或者从中拉取镜像了。在做这一步之前,让我们设置 TLS 证书,以便与 DTR 安全地通讯。
在 Linux 上,我们可以使用以下下令(只需确保更改了 DTR_HOSTNAME 变量,来精确映射我们刚刚设置的 DTR):
  1. # 从 DTR 拉取 CA 证书(如果 curl 不可用,你可以使用 wget)
  2. DTR_HOSTNAME=< DTR 主机名>
  3. curl -k https://$(DTR_HOSTNAME)/ca > $(DTR_HOSTNAME).crt
  4. sudo mkdir /etc/docker/certs.d/$(DTR_HOSTNAME)
  5. sudo cp $(DTR_HOSTNAME) /etc/docker/certs.d/$(DTR_HOSTNAME)
  6. # 重启 docker 守护进程(在 Ubuntu 14.04 上,使用 `sudo service docker restart` 命令)
  7. sudo systemctl restart docker
复制代码
对于 Mac 和 Windows 版的 Docker,我们会以差别的方式安装客户端。转入“设置 -> 守护历程”,在“不安全的注册服务器”部分,输入你的 DTR 主机名。点击“应用”,docker 守护历程应在重启后可以良好使用。
推送和拉取镜像
现在我们必要设置一个堆栈来存放镜像。这和 Docker Hub 有一点差别,如果你做的 docker 推送堆栈中不存在,它会自动创建一个。要创建一个堆栈,在欣赏器中打开 https://<Your DTR hostname> 并在出现登录提示时使用你的管理员根据登录。如果你向 UCP 添加了许可证,则 DTR 会自动获取该许可证。如果没有,请现在确认上传你的许可证。
进入刚才的网页之后,点击“新建堆栈”按钮来创建新的堆栈。
我们会创建一个用于存储 Alpine linux 的堆栈,所以在名字输入处键入 “alpine”,点击“保存”(在 DTR 2.5 及更高版本中叫“创建”)。
现在我们回到 shell 界面输入以下下令:
  1. # 拉取 Alpine Linux 的最新版
  2. docker pull alpine:latest
  3. # 登入新的 DTR 实例
  4. docker login <Your DTR hostname>
  5. # 标记上 Alpine 使能推送其至你的 DTR
  6. docker tag alpine:latest <Your DTR hostname>/admin/alpine:latest
  7. # 向 DTR 推送镜像
  8. docker push <Your DTR hostname>/admin/alpine:latest
复制代码
就是如许!我们刚刚推送了最新的 Alpine Linux 的一份拷贝,重新打了标签以便将其存储到 DTR 中,并将其推送到我们的私有注册服务器。如果你想将镜像拉取至差别的 Docker 引擎中,按如上所示设置你的 DTR 证书,然后实行以下下令:
  1. # 从 DTR 中拉取镜像
  2. docker pull <Your DTR hostname>/admin/alpine:latest
复制代码
DTR 具有许多良好的镜像管理功能,例如镜像的缓存、映像、扫描、署名乃至自动化供应链策略。这些功能我们在后期的博客文章中更具体的探究。
总结
以上所述是小编给各人介绍的使用 Docker 企业版搭建自己的私有注册服务器,盼望对各人有所资助,如果各人有任何疑问请给我留言,小编会实时回复各人的。在此也非常感谢各人对脚本之家网站的支持!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作