Ubuntu構建Docker私有倉庫(Repository) 配置過程筆記


一、准備:
1、服務器(或者虛擬機2台,我的服務環境【  阿里雲服務器-Ubuntu 1804 +百度雲-Ubuntu 1604】)
2、有效鏡像(我這里以上一篇隨筆鏡像作為有效鏡像 https://www.cnblogs.com/billowliu/p/12650361.html
3、官網倉庫鏡像( https://hub.docker.com,打開官網超級慢~官方源鏡像下載也慢)
4、daemon.json(主要配置Docker push 、Pull  鏡像源地址)
二、目標:
1、如何構建私有倉庫
2、如何將鏡像上傳到私有倉庫
3、如何下載私有倉庫鏡像
 
三、實現步驟
Ⅰ 、准備有效鏡像
    用上一篇文章中所用的BillAspNetCoreDocker做范例, 這里先查看一下有哪些鏡像,並可以通過 inspeect  鏡像查看詳細信息
docker images
docker image inspect billcore
這里記錄下Tag,目前我理解的應該是版本信息(下面命令相當於Copy並指定Tag信息-推送鏡像到私有倉庫時准備的)
docker  image tag  billcore  billcore:bill  
docker images
 通過billcore鏡像創建容器並后台運行(-d后台 -P 暴露端口-否則外網可能無法訪問)
docker run -d -P billcore 
現在就可以通過瀏覽器通過域名或者IP訪問端口為32769,如下圖所示可以正常運行。
 
到這里鏡像確保沒有問題且能正常在容器中運行
現在重點是記錄Docker private Repository 內容,為下一步集群搭建做准備
Ⅱ、官網倉庫鏡像
下載官方倉庫鏡像可能比較慢,國內的鏡像源還蠻快的( https://hub.docker.com),相關說明文檔: https://docs.docker.com/docker-hub/official_images/
命令格式
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
注:對於Docker鏡像來說,如果不顯式地指定TAG,則默認會選擇 latest標簽,即下載倉庫中最新版本的鏡像。
docker pull registry
再次查看鏡像確認已經安裝完成
docker images
運行registry -后台運行(守護)暴露服務器與容器端口均為5000 容器名稱定義為 registry
docker run -d -P 5000:5000  --name registry  registry
出現下面圖提示,應該是國外源下載速度太慢,設置 daemon.json設置國內
cd /etc/docker
ls
vi /etc/docker/daemon.json
出現編輯界面添加如下其中一條內容即可(多條僅供參考):
網易:{"registry-mirrors": ["http://hub-mirror.c.163.com"]}
阿里:{"registry-mirrors": ["https://help.aliyun.com/document_detail/60750.html"]}
國內:{"registry-mirrors": ["https://registry.docker-cn.com"]}
再次執行,如下所所示成功了
docker run -d -P 5000:5000  --name registry  registry
再次查看容器,
docker ps -a
至此倉庫已經搭建完成,下一步就是往倉庫中推送鏡像,提供給其他服務器使用
docker images 
現在得目標是將billcore 的鏡像推送至私有倉庫
docker image tag billcore  xx.xxx.141.79:5000/billcore
docker images
通過 push命令推送
docker push  xx.xxx.141.79:5000/billcore

 

解決辦法
echo '{ "insecure-registries":["xxx.xxx.141.79:5000"] }' > /etc/docker/daemon.json
 
 重啟Dokcer服務,繼續推送
systemctl restart docker
docker push  xx.xxx.141.79:5000/billcore
然后還是出現如下報錯,仔細檢查原來重啟dokcer后容器也跟着停止了,

 

 

   解決問題,啟動容器:7358409c6e4a 對應 registry
docker start 7358409c6e4a
docker ps -a
   從下圖看出docker私有倉庫容器已經重新運行成功
繼續推送,可以看到正在向私有倉庫進行推送billcore,如果是本機會更快,
因為我待會得用百度服務器下載阿里雲服務器 私有倉庫的鏡像所以我用的公網IP有點慢
docker push  xx.xxx.141.79:5000/billcore
推送完成后
推送完成后查看
curl xx.xxx.141.79:5000/v2/_catalog
 
現在私有倉庫中有存在一個billcore 的項目
 
現在切換到另外一台服務准備下載鏡像
1、設置daemon.json
 echo '{ "insecure-registries":["47.105.141.79:5000"] }' > /etc/docker/daemon.json 
重啟Docker 服務(這里建議一開始就設置好私有倉庫地址,后續統一將鏡像在私有倉庫中管理不然每次都得重啟服務)
service docker restart
下載鏡像billcore、部署鏡像、並訪問網站
docker pull xx.xxx.141.79:5000/billcore
docker images
docker run -d -P xx.xxx.141.79:5000/billcore
docker ps -a
至此私有鏡像源服務器(阿里)已經搭建完成,並且在百度雲服務器中下載鏡像進行部署~
 
本文記錄均為個人操作步驟筆記(含踩坑過程),僅供參考~
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM