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