Docker Data Center系列(三)- DTR安装指南
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境。
基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力。
1 系统要求
1.1 硬件和软件要求
- 成为UCP管理的工作节点。
- 固定的主机名。
1.2 最低配置
- 8G RAM
- 2核 CPU
- 10GB 可用磁盘空间
1.3 推荐配置
- 16GB RAM
- 4个vCPU
- 25-100GB 可用磁盘空间
1.4 操作系统支持
- CentOS 7.4 (本文中默认使用的操作系统)
- Red Hat Enterprise Linux 7.0, 7.1, 7.2, or 7.3
- Ubuntu 14.04 LTS or 16.04 LTS
- SUSE Linux Enterprise 12
1.5 其它
- 同步时区和时间
- 一致的主机名策略
- 内部的DNS
1.6 版本适配
- docker 17.06.2.ee.8+
- DTR 2.5.3 : UCP 3.0.2
- DTR 2.5.0 : UCP 3.0.0
1.7 网络要求
安装过程中DTR节点需要能下载docker官网的资源,如果不能访问,可通过其它机器下载软件包,然后执行离线安装。
如何离线安装DTR,请参考这里。
1.8 使用的端口
在节点上安装DTR时,确保在该节点上打开了以下端口:
Direction | Port | Purpose |
---|---|---|
in | 80 / TCP | Web应用程序和API客户端访问DTR。 |
in | 443 / TCP | Web应用程序和API客户端访问DTR。 |
这些端口在安装DTR时是可配置的。
2 安装DTR
2.1 验证系统要求
安装DTR的第一步是确保具备DTR安装运行的系统要求。
2.2 安装DTR
a, 在UCP Web UI。导航到管理员设置
页面,在左侧菜单中,点击Docker Trusted Registry
。
b, 配置完所有选项后,将看到一个可用于安装DTR的命令行代码:
# Pull the latest version of DTR
$ docker pull docker/dtr:2.5.3
# Install DTR
$ docker run -it --rmdocker/dtr:2.5.3 install \
--dtr-external-url [https://dtr.example.org] \ # 访问dtr web ui的地址
--ucp-node node02 \# ucp安装的节点主机名
--ucp-username admin\
--ucp-insecure-tls \
--ucp-url [https://ucp.example.org] # ucp的域名
c, 通过SSH进入UCP的一个Worker节点并从那里运行DTR安装命令。
注意:
- 如果dns服务器中没有配置解析, --dtr-external-url 和--ucp-url 不能用hostname。
2.3 检查DTR是否运行
在UCP Web UI,导航到共享的资源
下的应用栈
页面:
或者通过浏览器,访问DTR Web UI:
使用与UCP相同的管理员账号登录。
2.4 配置安全访问DTR
如果其它节点要从DTR服务器上pull或push镜像文件,需要先在其它节点(例如UCP节点)上获取并信任DTR的CA,否则会报如下错误:
$ docker login [dtr.example.org](http://dtr.example.org/)
x509: certificate signed by unknown authority
# 创建应用栈时报错
dial tcp: lookup [dtr.example.org](http://dtr.example.org/) on 183.60.83.19:53: no such host
在UCP节点和所有要请求DTR的节点上,获取并信任DTR的CA:
# Download the DTR CA certificate
$ curl -k https://<dtr-domain-name>/ca -o /etc/pki/ca-trust/source/anchors/<dtr-domain-name>.crt
# Refresh the list of certificates to trust
$ update-ca-trust
# Restart the Docker daemon
$ systemctl restart docker.service
2.5 其它DTR命令
a, 升级DTR
$ docker pull docker/dtr:2.5.3
$ docker run -it --rm \
docker/dtr:2.5.3 upgrade \
--ucp-insecure-tls
b, 重新配置
$ docker run -it --rm docker/dtr:2.5.3 reconfigure [command options]
c, 卸载DTR
$ docker run -it --rm \
docker/dtr:2.5.3 destroy \
--ucp-insecure-tls
3 管理镜像
3.1 创建镜像存储库
a, 要创建新的镜像存储库,在DTR Web UI首页,然后单击新建存储库按钮。
b, 为存储库添加名称和描述,并选择您的存储库是公有还是私有:
- 公共存储库对所有用户都是可见的,但只能被授予写入权限的用户更改。
- 专用存储库只能被授予该存储库权限的用户看到。
c, 单击保存创建存储库。
注意:
- 在DTR中存储库的URL格式为
<dtr-domain-name>/<user-or-org>/<repository-name>
,<user-or-org>
是用户或者组织的名称,可以在DTR Web UI中创建; - DTR只允许具有255个字符的图像名称。这包括域名,组织和存储库名称。
3.2 推送和拉取镜像
Docker Trusted Registry交互命令:
- 在DTR上验证身份
docker login <dtr-url>
- 从DTR中拉取图像
docker pull <image>:<tag>
- 将图像推送到DTR
docker push <image>:<tag>
a, 拉取镜像
$ docker login dtr.example.org
$ docker pull dtr.example.org/common/mysql:5 # common是组织或者用户名, mysql是存储库名
b, 推送镜像
$ docker push dtr.example.org/common/mysql:5
c, 标记镜像
# Pull from Docker Hub the latest tag of the mysql image
$ docker pull mysql:5.1.7
# Tag the mysql:5.1.7 image with the full repository namewe've created in DTR
$ docker tag mysql:5.1.7 dtr.example.org/common/mysql:5
系列文章
Docker Data Center系列(一)- 快速搭建云原生架构的实践环境
Docker Data Center系列(二)- UCP安装指南
Docker Data Center系列(三)- DTR安装指南
Docker Data Center系列(四)- 离线安装UCP和DTR
Docker Data Center系列(五)- 使用自定义的TLS安全认证
Docker Data Center系列(三)- DTR安装指南的更多相关文章
- Docker Data Center系列(二)- UCP安装指南
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 系统要求 1.1 硬件和软件要求 Linux内核版 ...
- Docker Data Center系列(四)- 离线安装UCP和DTR
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 离线安装UCP 1.1 可用版本 Version ...
- Docker Data Center系列(一)- 快速搭建云原生架构的实践环境
本系列文章演示如何快速搭建一个简单的云原生架构的实践环境. 基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力. 1 整体规划 1.1 拓扑架构 1.2 基础 ...
- Docker Data Center系列(五)- 使用自定义的TLS安全认证
本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 名词说明 CSR: Certificate Sig ...
- Docker & k8s 系列三:在k8s中部署单个服务实例
本章将会讲解: pod的概念,以及如何向k8s中部署一个单体应用实例. 在上面的篇幅中,我们了解了docker,并制作.运行了docker镜像,然后将镜像发布至中央仓库了.然后又搭建了本机的k8s环境 ...
- Docker入门教程(三)Dockerfile
Docker入门教程(三)Dockerfile [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOn ...
- Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送
Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送, ...
- DocX开源WORD操作组件的学习系列三
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- Android开发教程 - 使用Data Binding(三)在Activity中的使用
本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...
随机推荐
- 旅行,说走就走 Help? [C++数据类型和表达式]
摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 乐天派.我却喜欢和老妈说"老妈小时候喜欢羡慕别人有动力,现在看 ...
- Perl文件句柄引用
目前还没介绍Perl的面向对象,所以这节内容除了几个注意点,没什么可讲的. 以前经常使用大写字母的句柄方式(即所谓的裸字文件句柄,bareword filehandle),现在可以考虑转向使用变量文件 ...
- Scala(一) —— 基础
一.输出 println("Hello World") 二.变量与常量 1.变量用var表示,常量使用val表示 2.变量类型声明 var variableName : DateT ...
- 【golang-GUI开发】QSS的使用(一)———QSS入门指南
在这篇文章中我们将初步体验对qss的使用.并对在goqt中使用qss时的注意事项进行说明. 那么事不宜迟,现在开始我们的qss之旅吧. QSS语法入门 qss是一种与css3相似的控制Qt组件的样式表 ...
- Redis学习笔记(1)-安装Oracle VM VirtualBox
Oracle VM VirtualBox官网网址 打开安装包网址界面,如下所示,点击截图红框. 下载完成后,点击exe文件,不停的点击下一步. 因为是使用MarkDown编辑器书写的尝试,所以写的简单 ...
- C#操作DataReader类
一.常用属性 名称 说明 Depth 获取一个值,用于指示当前行的嵌套深度 FieldCount 获取当前行中的列数 HasRows 获取一个值,该值指示 SqlDataReader 是否有行 IsC ...
- 微信公众号授权,支付,退款总结【shoucang】
1.支付前准备 1.1首先两个平台接入账户. 商户平台:https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F 公众平台: ...
- 4.1 explain 之 id
一.id 是什么 select 查询的序列化,包含一组数字,表示查询中执行select子句或操作的顺序 二.三种情况 a. id相同,执行顺序由上至下 b. 如果是子查询,id的序号会递增,id值越大 ...
- A simple problem(湘大邀请赛)
A simple problem Accepted : 61 Submit : 418 Time Limit : 15000 MS Memory Limit : 655360 KB Probl ...
- github 遇到的问题
目录 1.遇到的问题关联远程仓库,操作顺序如下:2.解决方法3.git merge 与 git rebase4.git pull 与 git pull --rebase5.更多参考 博客逐步迁移至 极 ...