docker私庫配置


hub.docker.com上可以保存鏡像,但是網速相對較慢,在內部環境中搭建一個私有的公共倉庫是個更好的方案,今天我們就來實戰搭建私有docker倉庫吧;

環境規划
需要兩台機器:docker私服倉庫的server和使用docker的普通機器,這兩個機器都是ubuntu16版本的server,ip信息如下:

機器名 ip 功能
docker-registry   192.168.119.148      docker私有倉庫服務器
docker-app         192.168.119.155      運行docker服務的普通服務器
准備機器
本次實戰中,上述兩台機器是vmware上創建的兩個虛擬機,都安裝了docker服務,詳細的創建和安裝過程,請參照《rancher下的kubernetes之一:構建標准化vmware鏡像》,記得在vmware中給兩個鏡像把名字分別改成“docker-registry”和“docker-app”,以免后面搞錯了;

虛擬機啟動后,請先修改/etc/hostname文件,將兩個機器的hostname分別修改成“docker-registry”和“docker-app”,然后用reboot命令重啟;

安裝私有倉庫
登錄docker-registry機器(推薦使用SecureCRT);
執行以下命令,會啟動一個registry容器,該容器用於提供私有倉庫的服務:
docker run --name docker-registry -d -p 5000:5000 registry
執行docker ps命令看一下容器情況,如下圖:

 

 

容器正常啟動,對外提供服務通過5000端口映射到docker-registry的5000端口;

執行命令curl -X GET http://127.0.0.1:5000/v2/_catalog,收到的響應如下,是個json對象,其中repositories對應的值是空的json數組,表示目前倉庫里還沒有鏡像:

{"repositories":[]}
OK,私有倉庫已經創建和啟動完畢了,接下來試試如何使用吧;

支持http協議推送
正常情況下,應用服務器推送鏡像到倉庫用的是https,此處我們通過命令行來測試推送用的是普通的http,所以需要修改docker的啟動參數,使之允許以http協議工作;

執行推送鏡像的機器是docker-app,所以登錄到此機器(推薦使用SecureCRT);

修改/etc/default/docker文件,加入以下紅框內容:

 

 

 

 

 


再修改 /lib/systemd/system/docker.service,以下紅框中的內容,第一行為新增,第二行為修改:

 

 


執行以下命令,重新加載配置信息再重啟docker服務:

systemctl daemon-reload;service docker restart

推送鏡像到私有倉庫
接下來我們在docker-app先下載一個鏡像,再將這個鏡像推送到私有倉庫中去;

登錄docker-app機器(推薦使用SecureCRT);

執行命令docker pull tomcat,從hub.docker.com下載最新版本的tomcat鏡像,如下圖:

 

 


下載完畢后,執行docker images查看鏡像的信息,如下圖:

 

 


如上圖紅框所示,這個鏡像的ID是3dcfe809147d,所以我們執行以下命令,給這個鏡像添加一個帶有私有倉庫IP的TAG,這樣后面才能成功推送到私有倉庫:

docker tag 3dcfe809147d 192.168.119.148:5000/tomcat

再執行docker images查看鏡像的信息,如下圖,出現了一個新的鏡像,REPOSITORY是192.168.119.148:5000/tomcat:

 

 


執行以下命令進行推送:

docker push 192.168.119.148:5000/tomcat
可以看到順利進行中,如下圖:

 

 


推送成功后,在docker-app和docker-registry上分別執行curl -X GET http://192.168.119.148:5000/v2/_catalog,查看私有倉庫的鏡像信息,都能見到如下內容:

 

 


使用私有倉庫的鏡像
在docker-app機器上,先執行以下命令將本地鏡像刪掉:
docker rmi 192.168.119.148:5000/tomcat tomcat
再執行以下命令,用私服上的鏡像來創建一個容器,映射8080端口:
docker run --name tomcat001 -p 8080:8080 -idt 192.168.119.148:5000/tomcat
本地沒有鏡像就去私服下載,如下圖:

 

 


docker-app的IP是192.168.119.155,所以在當前電腦上打開瀏覽器,輸入:192.168.119.155:8080,可以看到下圖熟悉的tomcat歡迎頁:

 


免責聲明!

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



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