溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么使用Docker企業(yè)版搭建自己的私有注冊(cè)服務(wù)器

發(fā)布時(shí)間:2021-02-18 14:01:48 來(lái)源:億速云 閱讀:171 作者:小新 欄目:服務(wù)器

這篇文章將為大家詳細(xì)講解有關(guān)怎么使用Docker企業(yè)版搭建自己的私有注冊(cè)服務(wù)器,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Docker 真的很酷,特別是和使用虛擬機(jī)相比,轉(zhuǎn)移 Docker 鏡像十分容易。如果你已準(zhǔn)備好使用 Docker,那你肯定已從 Docker Hub 上拉取過(guò)完整的鏡像。Docker Hub 是 Docker 的云端注冊(cè)服務(wù)器服務(wù),它包含成千上萬(wàn)個(gè)供選擇的 Docker 鏡像。如果你開發(fā)了自己的軟件包并創(chuàng)建了自己的 Docker 鏡像,那么你會(huì)想有自己私有的注冊(cè)服務(wù)器。如果你有搭配著專有許可的鏡像,或想為你的構(gòu)建系統(tǒng)提供復(fù)雜的持續(xù)集成(CI)過(guò)程,則更應(yīng)該擁有自己的私有注冊(cè)服務(wù)器。

Docker 企業(yè)版包括 Docker 可信注冊(cè)服務(wù)器Docker Trusted Registry(DTR)。這是一個(gè)具有安全鏡像管理功能的高可用的注冊(cè)服務(wù)器,為在你自己的數(shù)據(jù)中心或基于云端的架構(gòu)上運(yùn)行而構(gòu)建。在接下來(lái),我們將了解到 DTR 是提供安全、可重用且連續(xù)的軟件供應(yīng)鏈的一個(gè)關(guān)鍵組件。你可以通過(guò)我們的免費(fèi)托管小樣立即開始使用,或者通過(guò)下載安裝進(jìn)行 30 天的免費(fèi)試用。下面是開始自己安裝的步驟。

配置 Docker 企業(yè)版

DTR 運(yùn)行于通用控制面板(UCP)之上,所以開始前要安裝一個(gè)單節(jié)點(diǎn)集群。如果你已經(jīng)有了自己的 UCP 集群,可以跳過(guò)這一步。在你的 docker 托管主機(jī)上,運(yùn)行以下命令:

# 拉取并安裝 UCP
docker run -it -rm -v /var/run/docker.sock:/var/run/docker.sock -name ucp docker/ucp:latest install

當(dāng) UCP 啟動(dòng)并運(yùn)行后,在安裝 DTR 之前你還有幾件事要做。針對(duì)剛剛安裝的 UCP 實(shí)例,打開瀏覽器。在日志輸出的末尾應(yīng)該有一個(gè)鏈接。如果你已經(jīng)有了 Docker 企業(yè)版的許可證,那就在這個(gè)界面上輸入它吧。如果你還沒(méi)有,可以訪問(wèn) Docker 商店獲取 30 天的免費(fèi)試用版。

準(zhǔn)備好許可證后,你可能會(huì)需要改變一下 UCP 運(yùn)行的端口。因?yàn)檫@是一個(gè)單節(jié)點(diǎn)集群,DTR 和 UCP 可能會(huì)以相同的端口運(yùn)行它們的 web 服務(wù)。如果你擁有不只一個(gè)節(jié)點(diǎn)的 UCP 集群,這就不是問(wèn)題,因?yàn)?DTR 會(huì)尋找有所需空閑端口的節(jié)點(diǎn)。在 UCP 中,點(diǎn)擊“管理員設(shè)置 -> 集群配置”并修改控制器端口,比如 5443。

安裝 DTR

我們要安裝一個(gè)簡(jiǎn)單的、單節(jié)點(diǎn)的 DTR 實(shí)例。如果你要安裝實(shí)際生產(chǎn)用途的 DTR,那么你會(huì)將其設(shè)置為高可用(HA)模式,即需要另一種存儲(chǔ)介質(zhì),比如基于云端的對(duì)象存儲(chǔ)或者 NFS(LCTT 譯注:Network File System,網(wǎng)絡(luò)文件系統(tǒng))。因?yàn)槟壳鞍惭b的是一個(gè)單節(jié)點(diǎn)實(shí)例,我們依然使用默認(rèn)的本地存儲(chǔ)。

首先我們需要拉取 DTR 的 bootstrap 鏡像。boostrap 鏡像是一個(gè)微小的獨(dú)立安裝程序,包括了連接到 UCP 以及設(shè)置和啟動(dòng) DTR 所需的所有容器、卷和邏輯網(wǎng)絡(luò)。

使用命令:

# 拉取并運(yùn)行 DTR 引導(dǎo)程序
docker run -it -rm docker/dtr:latest install -ucp-insecure-tls

注意:默認(rèn)情況下,UCP 和 DTR 都有自己的證書,系統(tǒng)無(wú)法識(shí)別。如果你已使用系統(tǒng)信任的 TLS 證書設(shè)置 UCP,則可以省略 -ucp-insecure-tls 選項(xiàng)。另外,你可以使用 -ucp-ca 選項(xiàng)來(lái)直接指定 UCP 的 CA 證書。

然后 DTR bootstrap 鏡像會(huì)讓你確定幾項(xiàng)設(shè)置,比如 UCP 安裝的 URL 地址以及管理員的用戶名和密碼。從拉取所有的 DTR 鏡像到設(shè)置全部完成,只需要一到兩分鐘的時(shí)間。

保證一切安全

一切都準(zhǔn)備好后,就可以向注冊(cè)服務(wù)器推送或者從中拉取鏡像了。在做這一步之前,讓我們?cè)O(shè)置 TLS 證書,以便與 DTR 安全地通信。

在 Linux 上,我們可以使用以下命令(只需確保更改了 DTR_HOSTNAME 變量,來(lái)正確映射我們剛剛設(shè)置的 DTR):

# 從 DTR 拉取 CA 證書(如果 curl 不可用,你可以使用 wget)
DTR_HOSTNAME=< DTR 主機(jī)名>
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 守護(hù)進(jìn)程(在 Ubuntu 14.04 上,使用 `sudo service docker restart` 命令)
sudo systemctl restart docker

對(duì)于 Mac 和 Windows 版的 Docker,我們會(huì)以不同的方式安裝客戶端。轉(zhuǎn)入“設(shè)置 -> 守護(hù)進(jìn)程”,在“不安全的注冊(cè)服務(wù)器”部分,輸入你的 DTR 主機(jī)名。點(diǎn)擊“應(yīng)用”,docker 守護(hù)進(jìn)程應(yīng)在重啟后可以良好使用。

推送和拉取鏡像

現(xiàn)在我們需要設(shè)置一個(gè)倉(cāng)庫(kù)來(lái)存放鏡像。這和 Docker Hub 有一點(diǎn)不同,如果你做的 docker 推送倉(cāng)庫(kù)中不存在,它會(huì)自動(dòng)創(chuàng)建一個(gè)。要?jiǎng)?chuàng)建一個(gè)倉(cāng)庫(kù),在瀏覽器中打開 https://<Your DTR hostname> 并在出現(xiàn)登錄提示時(shí)使用你的管理員憑據(jù)登錄。如果你向 UCP 添加了許可證,則 DTR 會(huì)自動(dòng)獲取該許可證。如果沒(méi)有,請(qǐng)現(xiàn)在確認(rèn)上傳你的許可證。

進(jìn)入剛才的網(wǎng)頁(yè)之后,點(diǎn)擊“新建倉(cāng)庫(kù)”按鈕來(lái)創(chuàng)建新的倉(cāng)庫(kù)。

我們會(huì)創(chuàng)建一個(gè)用于存儲(chǔ) Alpine linux 的倉(cāng)庫(kù),所以在名字輸入處鍵入 “alpine”,點(diǎn)擊“保存”(在 DTR 2.5 及更高版本中叫“創(chuàng)建”)。

現(xiàn)在我們回到 shell 界面輸入以下命令:

# 拉取 Alpine Linux 的最新版
docker pull alpine:latest
# 登入新的 DTR 實(shí)例
docker login <Your DTR hostname>
# 標(biāo)記上 Alpine 使能推送其至你的 DTR
docker tag alpine:latest <Your DTR hostname>/admin/alpine:latest
# 向 DTR 推送鏡像
docker push <Your DTR hostname>/admin/alpine:latest

就是這樣!我們剛剛推送了最新的 Alpine Linux 的一份拷貝,重新打了標(biāo)簽以便將其存儲(chǔ)到 DTR 中,并將其推送到我們的私有注冊(cè)服務(wù)器。如果你想將鏡像拉取至不同的 Docker 引擎中,按如上所示設(shè)置你的 DTR 證書,然后執(zhí)行以下命令:

# 從 DTR 中拉取鏡像
docker pull <Your DTR hostname>/admin/alpine:latest

DTR 具有許多優(yōu)秀的鏡像管理功能,例如鏡像的緩存、映像、掃描、簽名甚至自動(dòng)化供應(yīng)鏈策略。這些功能我們?cè)诤笃诘牟┛臀恼轮懈敿?xì)的探討。

關(guān)于“怎么使用Docker企業(yè)版搭建自己的私有注冊(cè)服務(wù)器”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI