摘要:包括兩個關鍵組成部分和。簡單理解,第一個是負責存儲的,第二個是負責管理鏡像的。使用阿里云的保存鏡像文件默認鏡像文件存到本地磁盤,這個可擴展性不是很好,我們可以把鏡像文件存到中。注查詢網址阿里云的其他參數查詢網址
Docker Registry簡介
Docker Registry是開源的軟件,可以進行存儲和分發Docker鏡像。Docker Registry包括兩個關鍵組成部分:Docker Trusted Registry和Docker Hub。簡單理解,第一個是負責存儲的,第二個是負責管理鏡像的。
Docker Hub以前叫作Docker Index,Docker每次pull鏡像時,都是先去Docker Index獲取鏡像信息,然后去保存鏡像的Registry里面下載。
用過Docker的都知道,每次pull鏡像時都很慢。后來國內出現了一些加速下載的,可是只是加速了鏡像文件的下載。還是需要去連接官方的index服務,這一步很慢,而且還可能失敗。
再往后,國內也提供index服務的加速了,但這樣我們就需要完全信任他們了,因為我們完全不用連接官方的服務器了。如果我們不信任他們,或者我們有自己的私有鏡像,不想發到公網去,我們就可以用Docker官方推薦的Docker Registry了。
官方提供了Docker Registry的鏡像文件,我們只需執行docker pull registry就可以了。今天(206.02.24)lastest標簽的registry是版本0.9.1,所以如果我們要用最新版本2.3,可以拉取tag為2,2.3,2.3.0的都可以。執行如下命令即可:
docker pull registry:2啟動Docker Registry
啟動:
docker run -d -p 443:5000 --restart=always --name registry registry:2
下載鏡像,并把它上傳到自己的registry:
docker pull busybox && docker tag busybox localhost/busybox docker push localhost/busybox
這樣localhost/busybox就在自己的registry中了,下次可以直接pull下來
docker pull localhost/busybox鏡像文件存儲本地
docker run -d -p 443:5000 --restart=always --name registry -v `pwd`/data:/var/lib/registry registry:2使用https
上一篇文章介紹了如何獲取證書,新建一個目錄config,將證書chained.pem和密鑰domain.key拷貝到目錄config里面,然后執行:
docker run -d -p 443:5000 --restart=always --name registry -v `pwd`/config:/config -e REGISTRY_HTTP_TLS_CERTIFICATE=/config/chained.pem -e REGISTRY_HTTP_TLS_KEY=/config/domain.key registry:2
下次對鏡像進行操作時,可以把localhost改為這個證書對應的域名了。證書有的是crt結尾了,沒關系,把chained.pem改為你想要的名字就可以了。
添加權限認證按照之前的步驟,任何人都可以push和pull這個倉庫中的鏡像。如果443端口暴露在外網中,最好加個權限認證。testuser和testpassword分別為用戶名和密碼,可以修改為你想要的,然后執行:
htpasswd -Bbn testuser testpassword > config/htpasswd
如果本地沒有安裝htpasswd,也可以在啟動了registry后執行如下命令:
docker exec registry htpasswd -Bbn testuser testpassword > config/htpasswd
然后再執行啟動命令:
docker run -d -p 443:5000 --restart=always --name registry -v `pwd`/config:/config -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/config/htpasswd -e REGISTRY_HTTP_TLS_CERTIFICATE=/config/chained.pem -e REGISTRY_HTTP_TLS_KEY=/config/domain.key registry:2
這樣,訪問registry就需要先login,docker login myregistrydomain.com,按提示輸入用戶名和密碼即可。
默認鏡像文件存到本地磁盤,這個可擴展性不是很好,我們可以把鏡像文件存到OSS中。這個使用起來也很簡單,因為官方registry中已經包含了OSS的驅動了。只需修改啟動命令即可:
docker run -d -p 443:5000 --restart=always --name registry -v `pwd`/config:/config -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/config/htpasswd -e REGISTRY_HTTP_TLS_CERTIFICATE=/config/chained.pem -e REGISTRY_HTTP_TLS_KEY=/config/domain.key -e REGISTRY_STORAGE=oss -e REGISTRY_STORAGE_OSS_ACCESSKEYID=********** -e REGISTRY_STORAGE_OSS_ACCESSKEYSECRET=***************** -e REGISTRY_STORAGE_OSS_REGION=oss-cn-qingdao -e REGISTRY_STORAGE_OSS_BUCKET=******* registry:2
將上面命令中的***替換成自己的,REGISTRY_STORAGE_OSS_REGION的值也要替換成自己oss所在的地區,如果是青島就是oss-cn-qingdao。
注:
region查詢網址
阿里云OSS的其他參數查詢網址
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26525.html
摘要:前言最近開始研究的應用,于是打算搭建一個私有的倉庫,并使用阿里云的作為存儲引擎。登陸成功后,執行以下命令即可上傳配置阿里云首先在剛才執行的命令行窗口中按退出服務。待上傳完畢,可以打開阿里云的控制臺界面檢查文件是否被正確上傳上去了。 前言 最近開始研究 Docker 的應用,于是打算 搭建一個私有的 Docker 倉庫,并使用阿里云的 OSS 作為存儲引擎 。從網上搜索到的資料大都是比較...
摘要:安裝號稱是世界上最流行的私服管理軟件可以搭建幾乎目前所有常見的倉庫如等更是增加了對倉庫的支持應該是搭建私服的唯一選擇有兩個版本和其中版本是免費專業版需要收費對于日常的倉庫管理已經足夠用支持二進制文件安裝和安裝這里選擇安裝簡單方便運行以下命令 安裝 Nexus號稱是世界上最流行的私服管理軟件(The worlds most popular repository),可以搭建幾乎目前所有常見...
對于網站存儲的需求,大多數人還是以私有網盤為主,目的是為了可以存儲屬于私人的視頻、文檔、音頻等資料。但是,也有不少的人想要搭建一個公共的網盤,主要目的是可以方便所有人查看、瀏覽和下載、使用,同時也提供視頻在線播放,變成影視站點。這樣的公共網盤服務搭建起來并不是很復雜,但是苦于高昂的存儲費用,有的人盯上了超大容量且免費的網盤服務,例如OneDrive,團隊版甚至可以達到TB以上,將OneDrive變...
摘要:筆主很早就開始用阿里云存儲服務當做自己的圖床了。阿里云對象存儲文檔,本篇文章會介紹到整合阿里云存儲服務實現文件上傳下載以及簡單的查看。 Github 地址:https://github.com/Snailclimb/springboot-integration-examples(SpringBoot和其他常用技術的整合,可能是你遇到的講解最詳細的學習案例,力爭新手也能看懂并且能夠在看完...
閱讀 3638·2021-11-24 09:38
閱讀 3142·2021-11-15 11:37
閱讀 780·2021-11-12 10:36
閱讀 3546·2021-10-21 09:38
閱讀 3219·2021-09-28 09:36
閱讀 2420·2021-09-22 16:01
閱讀 4983·2021-09-22 15:09
閱讀 1209·2019-08-30 15:55