為什么需要搭建一個(gè)私有的registry呢?嗯,對(duì)于新手來說,Docker Hub(一個(gè)Docker公共倉庫)只允許你擁有一個(gè)免費(fèi)的私有版本庫(repo)。其他的公司也開始提供類似服務(wù),但是價(jià)格可不便宜。另外,如果你需要用Docker部署一個(gè)用于生產(chǎn)環(huán)境的應(yīng)用,恐怕你不希望將這些鏡像放在公開的Docker Hub上吧!
這篇文章提供了一個(gè)非常務(wù)實(shí)的方法來處理搭建私有Docker registry時(shí)出現(xiàn)的各種錯(cuò)綜復(fù)雜的情況。我們將會(huì)使用一個(gè)運(yùn)行于DigitalOcean(之后簡(jiǎn)稱為DO)的非常小巧的512MB VPS 實(shí)例。并且我會(huì)假定你已經(jīng)了解了Docker的基本概念,因?yàn)槲冶仨毤芯υ趶?fù)雜的事情上!
本地搭建
首先你需要安裝boot2docker以及docker CLI。如果你已經(jīng)搭建好了基本的Docker環(huán)境,你可以直接跳過這一步。
從終端運(yùn)行以下命令(我假設(shè)你使用OS X,使用 HomeBrew 來安裝相關(guān)軟件,你可以根據(jù)你的環(huán)境使用不同的包管理軟件來安裝):
brew install boot2docker docker
如果一切順利(想要了解搭建docker環(huán)境的完整指南,請(qǐng)參閱 http://boot2docker.io/) ,你現(xiàn)在就能夠通過如下命令啟動(dòng)一個(gè) Docker 運(yùn)行于其中的虛擬機(jī):
boot2docker up
按照屏幕顯示的說明,復(fù)制粘貼book2docker在終端輸出的命令。如果你現(xiàn)在運(yùn)行docker ps命令,終端將有以下顯示。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
好了,Docker已經(jīng)準(zhǔn)備就緒,這就夠了,我們回過頭去搭建registry。
創(chuàng)建服務(wù)器
登錄進(jìn)你的DO賬號(hào),選擇一個(gè)預(yù)安裝了Docker的鏡像文件,創(chuàng)建一個(gè)新的Drople。(本文寫成時(shí)選擇的是 Image > Applications > Docker 1.4.1 on 14.04)

你將會(huì)以郵件的方式收到一個(gè)根用戶憑證。登錄進(jìn)去,然后運(yùn)行docker ps命令來查看系統(tǒng)狀態(tài)。
搭建AWS S3
我們現(xiàn)在將使用Amazo Simple Storage Service(S3)作為我們r(jià)egistry/repository的存儲(chǔ)層。我們將需要?jiǎng)?chuàng)建一個(gè)桶(bucket)以及用戶憑證(user credentials)來允許我們的docker容器訪問它。
登錄到我們的AWS賬號(hào)(如果沒有,就申請(qǐng)一個(gè)http://aws.amazon.com/),在控制臺(tái)選擇S3(Simpole Storage Service)。

點(diǎn)擊 Create Bucket,為你的桶輸入一個(gè)名字(把它記下來,我們一會(huì)需要用到它),然后點(diǎn)擊Create。

OK!我們已經(jīng)搭建好存儲(chǔ)部分了。
設(shè)置AWS訪問憑證
我們現(xiàn)在將要?jiǎng)?chuàng)建一個(gè)新的用戶。退回到AWS控制臺(tái)然后選擇IAM(Identity & Access Management)。

在dashboard的左邊,點(diǎn)擊Users。然后選擇 Create New Users。
如圖所示:

輸入一個(gè)用戶名(例如 docker-registry)然后點(diǎn)擊Create。寫下(或者下載csv文件)你的Access Key以及Secret Access Key。回到你的用戶列表然后選擇你剛剛創(chuàng)建的用戶。
在Permission section下面,點(diǎn)擊Attach User Policy。之后在下一屏,選擇Custom Policy。

新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注