您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎樣使用 Docker 企業(yè)版搭建自己的私有注冊服務(wù)器,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Docker 真的很酷,特別是和使用虛擬機(jī)相比,轉(zhuǎn)移 Docker 鏡像十分容易。如果你已準(zhǔn)備好使用 Docker,那你肯定已從 Docker Hub 上拉取過完整的鏡像。Docker Hub 是 Docker 的云端注冊服務(wù)器服務(wù),它包含成千上萬個供選擇的 Docker 鏡像。如果你開發(fā)了自己的軟件包并創(chuàng)建了自己的 Docker 鏡像,那么你會想有自己私有的注冊服務(wù)器。如果你有搭配著專有許可的鏡像,或想為你的構(gòu)建系統(tǒng)提供復(fù)雜的持續(xù)集成(CI)過程,則更應(yīng)該擁有自己的私有注冊服務(wù)器。
Docker 企業(yè)版包括 Docker 可信注冊服務(wù)器(Docker Trusted Registry)(DTR)。這是一個具有安全鏡像管理功能的高可用的注冊服務(wù)器,為在你自己的數(shù)據(jù)中心或基于云端的架構(gòu)上運(yùn)行而構(gòu)建。在接下來,我們將了解到 DTR 是提供安全、可重用且連續(xù)的 軟件供應(yīng)鏈 的一個關(guān)鍵組件。你可以通過我們的 免費(fèi)托管小樣 立即開始使用,或者通過下載安裝進(jìn)行 30 天的免費(fèi)試用。下面是開始自己安裝的步驟。
配置 Docker 企業(yè)版
DTR 運(yùn)行于通用控制面板(UCP)之上,所以開始前要安裝一個單節(jié)點集群。如果你已經(jīng)有了自己的 UCP 集群,可以跳過這一步。在你的 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 啟動并運(yùn)行后,在安裝 DTR 之前你還有幾件事要做。針對剛剛安裝的 UCP 實例,打開瀏覽器。在日志輸出的末尾應(yīng)該有一個鏈接。如果你已經(jīng)有了 Docker 企業(yè)版的許可證,那就在這個界面上輸入它吧。如果你還沒有,可以訪問 Docker 商店 獲取 30 天的免費(fèi)試用版。
準(zhǔn)備好許可證后,你可能會需要改變一下 UCP 運(yùn)行的端口。因為這是一個單節(jié)點集群,DTR 和 UCP 可能會以相同的端口運(yùn)行它們的 web 服務(wù)。如果你擁有不只一個節(jié)點的 UCP 集群,這就不是問題,因為 DTR 會尋找有所需空閑端口的節(jié)點。在 UCP 中,點擊“管理員設(shè)置 -> 集群配置”并修改控制器端口,比如 5443。
安裝 DTR
我們要安裝一個簡單的、單節(jié)點的 DTR 實例。如果你要安裝實際生產(chǎn)用途的 DTR,那么你會將其設(shè)置為高可用(HA)模式,即需要另一種存儲介質(zhì),比如基于云端的對象存儲或者 NFS(LCTT 譯注:Network File System,網(wǎng)絡(luò)文件系統(tǒng))。因為目前安裝的是一個單節(jié)點實例,我們依然使用默認(rèn)的本地存儲。
首先我們需要拉取 DTR 的 bootstrap 鏡像。boostrap 鏡像是一個微小的獨(dú)立安裝程序,包括了連接到 UCP 以及設(shè)置和啟動 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)無法識別。如果你已使用系統(tǒng)信任的 TLS 證書設(shè)置 UCP,則可以省略 -ucp-insecure-tls 選項。另外,你可以使用 -ucp-ca 選項來直接指定 UCP 的 CA 證書。
然后 DTR bootstrap 鏡像會讓你確定幾項設(shè)置,比如 UCP 安裝的 URL 地址以及管理員的用戶名和密碼。從拉取所有的 DTR 鏡像到設(shè)置全部完成,只需要一到兩分鐘的時間。
保證一切安全
一切都準(zhǔn)備好后,就可以向注冊服務(wù)器推送或者從中拉取鏡像了。在做這一步之前,讓我們設(shè)置 TLS 證書,以便與 DTR 安全地通信。
在 Linux 上,我們可以使用以下命令(只需確保更改了 DTR_HOSTNAME 變量,來正確映射我們剛剛設(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
對于 Mac 和 Windows 版的 Docker,我們會以不同的方式安裝客戶端。轉(zhuǎn)入“設(shè)置 -> 守護(hù)進(jìn)程”,在“不安全的注冊服務(wù)器”部分,輸入你的 DTR 主機(jī)名。點擊“應(yīng)用”,docker 守護(hù)進(jìn)程應(yīng)在重啟后可以良好使用。
推送和拉取鏡像
現(xiàn)在我們需要設(shè)置一個倉庫來存放鏡像。這和 Docker Hub 有一點不同,如果你做的 docker 推送倉庫中不存在,它會自動創(chuàng)建一個。要創(chuàng)建一個倉庫,在瀏覽器中打開 https://
進(jìn)入剛才的網(wǎng)頁之后,點擊“新建倉庫”按鈕來創(chuàng)建新的倉庫。
我們會創(chuàng)建一個用于存儲 Alpine linux 的倉庫,所以在名字輸入處鍵入 “alpine”,點擊“保存”(在 DTR 2.5 及更高版本中叫“創(chuàng)建”)。
現(xiàn)在我們回到 shell 界面輸入以下命令:
# 拉取 Alpine Linux 的***版 docker pull alpine:latest # 登入新的 DTR 實例 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)簽以便將其存儲到 DTR 中,并將其推送到我們的私有注冊服務(wù)器。如果你想將鏡像拉取至不同的 Docker 引擎中,按如上所示設(shè)置你的 DTR 證書,然后執(zhí)行以下命令:
# 從 DTR 中拉取鏡像 docker pull <Your DTR hostname>/admin/alpine:latest
DTR 具有許多優(yōu)秀的鏡像管理功能,例如鏡像的緩存、映像、掃描、簽名甚至自動化供應(yīng)鏈策略。
關(guān)于怎樣使用 Docker 企業(yè)版搭建自己的私有注冊服務(wù)器就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。