摘要:與業(yè)務(wù)相關(guān)的鏡像可以使用私有的,提高安全性。其后端存儲方案有兩個。能不能使用國內(nèi)存儲服務(wù)如新浪云存儲,做一個私有呢在進(jìn)一步了解的過程中,筆者了解到實際上服務(wù)本身提供機(jī)制,可以整合更多的存儲服務(wù)整合。
最近使用Docker的同學(xué)越來越多。
使用Docker的時候需要了解Registry服務(wù) - 即鏡像存儲服務(wù)。
Registry是一個管理Docker鏡像的服務(wù),當(dāng)使用Docker的Push, Pull等操作時實際上都是與Registry服務(wù)進(jìn)行交互,類似本地Git和遠(yuǎn)程Git Repository的關(guān)系。
DockerHub作為默認(rèn)的Registry服務(wù)提供非常多的公共鏡像,并且為每個注冊者提供10個私有Repository。
早些時候在國內(nèi)訪問 DockerHub (前身域名為 index.docker.io) 經(jīng)常被墻,需要使用代理訪問,后來DockerHub改用AWS提供的CloudFront作為CDN服務(wù)解決了這個問題,訪問速度也有了一定的改善。
我們能不能自己做一個私有的Registry服務(wù)?這樣有幾方面的好處。
與業(yè)務(wù)相關(guān)的鏡像可以使用私有的Registry,提高安全性。
選擇穩(wěn)定的后端存儲服務(wù),可以提高數(shù)據(jù)可靠性,并且訪問速度也相對很快。
實際上Docker官方已經(jīng)有一個開源版Registry服務(wù),Python寫的。其后端存儲方案有兩個。
本地存儲,適合做開發(fā)測試環(huán)境用,不建議在生產(chǎn)環(huán)境使用。
AWS S3服務(wù),國內(nèi)訪問速度不是很好。
能不能使用國內(nèi)存儲服務(wù)(如新浪云存儲),做一個私有Registry呢?
在進(jìn)一步了解的過程中,筆者了解到實際上Registry服務(wù)本身提供Driver機(jī)制,可以整合更多的存儲服務(wù)整合。
于是,利用中秋休假的時間,寫了這樣的一個Driver。
https://pypi.python.org/pypi/docker-registry-driver-sinastorage/
安裝部署:
需要有一個Docker運(yùn)行環(huán)境,如CoreOS, Ubuntu14, CentOS7。
運(yùn)行如下命令:
# 使用之前申請好的賬號Key及想要的Bucket名稱,代替YOUR_*部分。 docker run -d -e SETTINGS_FLAVOR=sinastorage -e SINASTORAGE_BUCKET=YOUR_BUCKET -e SINASTORAGE_ACCESSKEY=YOUR_ACCESSKEY -e SINASTORAGE_SECRETKEY=YOUR_SECRETKEY -p 5000:5000 --name registry kerwin/docker-registry-sinastorage
這樣命令會在本地啟動5000端口的服務(wù), 如何使用:
docker tag ubuntu localhost:5000/ubuntu docker push localhost:5000/ubuntu # 這樣上傳了一個ubuntu的基本鏡像。任何時刻想要用到原來鏡像的時候: docker pull localhost:5000/ubuntu
注:
每次Commit都是增量備份,所以使用中并不會占用太多的容量,上傳下載都很快。
若希望看到之前上傳的鏡像,可以在控制臺中的 BUCKET -> repositories -> libraray 中查看。
Driver本身通過了所有Registry提供的測試用例,筆者自己使用的時候未遇到問題。但性能和穩(wěn)定性等方面還需優(yōu)化。不建議立即在生產(chǎn)環(huán)境中使用,也歡迎Contribute。
Github: https://github.com/kerwin/docker-registry-driver-sinastorage
DockerHub: https://registry.hub.docker.com/u/kerwin/docker-registry-sinastorage/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/26332.html
摘要:包括兩個關(guān)鍵組成部分和。簡單理解,第一個是負(fù)責(zé)存儲的,第二個是負(fù)責(zé)管理鏡像的。使用阿里云的保存鏡像文件默認(rèn)鏡像文件存到本地磁盤,這個可擴(kuò)展性不是很好,我們可以把鏡像文件存到中。注查詢網(wǎng)址阿里云的其他參數(shù)查詢網(wǎng)址 Docker Registry簡介 Docker Registry是開源的軟件,可以進(jìn)行存儲和分發(fā)Docker鏡像。Docker Registry包括兩個關(guān)鍵組成部分:Doc...
摘要:聯(lián)調(diào)測試,無需依賴他人。針對以上問題,有兩種解決方法,一個是自己搭建私有服務(wù),另一個是用云服務(wù)的鏡像管理平臺如阿里云的容器鏡像服務(wù)。利用,先對阿里云的服務(wù)進(jìn)行登錄。推送后,就能在阿里云的倉庫上看到這個鏡像。 Docker簡述 Docker是一種OS虛擬化技術(shù),是一個開源的應(yīng)用容器引擎。它可以讓開發(fā)者將應(yīng)用打包到一個可移植的容器中,并且該容器可以運(yùn)行在幾乎所有l(wèi)inux系統(tǒng)中(Windo...
摘要:本文章用于描述如何從零開始進(jìn)行阿里云倉庫的搭建,以及過程中遇到的相關(guān)問題。涉及的內(nèi)容包括,,,,。目標(biāo)硬盤掛載阿里云額外購買的硬盤服務(wù),需要僅掛載后才可以正常使用。域名代理免費(fèi)代理的域名通過阿里云域名解析暴露到外網(wǎng)。 本文章用于描述如何從零開始進(jìn)行阿里云倉庫的搭建,以及過程中遇到的相關(guān)問題。涉及的內(nèi)容包括Docker,Nginx,Nexus,Gitlab,Https。 背景 需要搭建一...
摘要:前言最近開始研究的應(yīng)用,于是打算搭建一個私有的倉庫,并使用阿里云的作為存儲引擎。登陸成功后,執(zhí)行以下命令即可上傳配置阿里云首先在剛才執(zhí)行的命令行窗口中按退出服務(wù)。待上傳完畢,可以打開阿里云的控制臺界面檢查文件是否被正確上傳上去了。 前言 最近開始研究 Docker 的應(yīng)用,于是打算 搭建一個私有的 Docker 倉庫,并使用阿里云的 OSS 作為存儲引擎 。從網(wǎng)上搜索到的資料大都是比較...
閱讀 1849·2021-11-15 11:37
閱讀 3193·2021-11-04 16:05
閱讀 1984·2021-10-27 14:18
閱讀 2807·2021-08-12 13:30
閱讀 2540·2019-08-29 14:18
閱讀 2152·2019-08-29 13:07
閱讀 2101·2019-08-27 10:54
閱讀 2782·2019-08-26 12:15