您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么使用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 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 所需的所有容器、卷和邏輯網絡。
使用命令:
# 拉取并運行 DTR 引導程序 docker run -it -rm docker/dtr:latest install -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=< DTR 主機名> curl -k https://$(DTR_HOSTNAME)/ca > $(DTR_HOSTNAME).crt sudo mkdir /etc/docker/certs.d/$(DTR_HOSTNAME) sudo cp $(DTR_HOSTNAME) /etc/docker/certs.d/$(DTR_HOSTNAME) # 重啟 docker 守護進程(在 Ubuntu 14.04 上,使用 `sudo service docker restart` 命令) 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 界面輸入以下命令:
# 拉取 Alpine Linux 的最新版 docker pull alpine:latest # 登入新的 DTR 實例 docker login <Your DTR hostname> # 標記上 Alpine 使能推送其至你的 DTR docker tag alpine:latest <Your DTR hostname>/admin/alpine:latest # 向 DTR 推送鏡像 docker push <Your DTR hostname>/admin/alpine:latest
就是這樣!我們剛剛推送了最新的 Alpine Linux 的一份拷貝,重新打了標簽以便將其存儲到 DTR 中,并將其推送到我們的私有注冊服務器。如果你想將鏡像拉取至不同的 Docker 引擎中,按如上所示設置你的 DTR 證書,然后執行以下命令:
# 從 DTR 中拉取鏡像 docker pull <Your DTR hostname>/admin/alpine:latest
DTR 具有許多優秀的鏡像管理功能,例如鏡像的緩存、映像、掃描、簽名甚至自動化供應鏈策略。這些功能我們在后期的博客文章中更詳細的探討。
關于“怎么使用Docker企業版搭建自己的私有注冊服務器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。