Docker Data Center系列(三)- DTR安装指南

本系列文章演示如何搭建一个mini的云平台和DevOps实践环境。 基于这套实践环境,能够部署微服务架构的应用栈,演练提高DevOps实践能力。html

#1 系统要求node

###1.1 硬件和软件要求mysql

  • 成为UCP管理的工做节点。
  • 固定的主机名。

###1.2 最低配置web

  • 8G RAM
  • 2核 CPU
  • 10GB 可用磁盘空间

###1.3 推荐配置sql

  • 16GB RAM
  • 4个vCPU
  • 25-100GB 可用磁盘空间

###1.4 操做系统支持docker

  • CentOS 7.4 <span style="color:red;">(本文中默认使用的操做系统)</span>
  • 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,请*<a href="https://www.cnblogs.com/yorkwu/p/9238453.html" target="_blank">参考这里</a>*。服务器

###1.8 使用的端口网络

在节点上安装DTR时,确保在该节点上打开了如下端口:

<table width="90%"> <tr> <th width="20%">Direction</th> <th width="30%">Port</th> <th width="50%">Purpose</th> </tr> <tr> <td>in</td> <td>80 / TCP</td> <td>Web应用程序和API客户端访问DTR。</td> </tr> <tr> <td>in</td> <td>443 / TCP</td> <td>Web应用程序和API客户端访问DTR。</td> </tr> </table>

这些端口在安装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

#系列文章 <a href="https://www.cnblogs.com/yorkwu/p/9230352.html" target="_blank">Docker Data Center系列(一)- 快速搭建云原生架构的实践环境</a> <a href="https://www.cnblogs.com/yorkwu/p/9238582.html" target="_blank">Docker Data Center系列(二)- UCP安装指南</a> Docker Data Center系列(三)- DTR安装指南 <a href="https://www.cnblogs.com/yorkwu/p/9238453.html" target="_blank">Docker Data Center系列(四)- 离线安装UCP和DTR</a> <a href="https://www.cnblogs.com/yorkwu/p/9255480.html" target="_blank">Docker Data Center系列(五)- 使用自定义的TLS安全认证</a>

相关文章
相关标签/搜索