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>

相關文章
相關標籤/搜索