將S2I產(chǎn)生的鏡像push到openshift Rejistry
Rejistry的分類:
1)內(nèi)部鏡像倉庫:供openshift在console中直接選擇使用(客戶私有)
2)外部鏡像倉庫:可以通過yaml使用(公司公有)
3)docker hub:整個docker的鏡像倉庫(世界公有)
由于文件太大土全,采用的拷貝的形式,并放在外部鏡像倉庫
#1)將生成的nodejs鏡像打包
#2)拷貝到外部鏡像倉庫的服務(wù)器或者虛擬機(jī)(也可以采用push的方式)
#3)解壓還原成鏡像
docker load -i ./nodejs.tar
#4)為鏡像重新打上標(biāo)簽
docker tag 62a011e6c8e8 registry.example.com/nodejs:1.0
#5)將鏡像發(fā)布到外部倉庫
docker push registry.example.com/nodejs-builder:1.0
%%%%%%%%%此處屬于開發(fā)人員內(nèi)部操作-可忽略%%%%%%%%%%%%%%%
此時在openshift consle 可以通過yaml的形式使用該nodejs-builder鏡像瑞凑,但為了用戶的方便幻件,我將鏡像放在內(nèi)部鏡像倉庫中,方便在菜單中直接選擇。
思路:復(fù)制nodejs鏡像到內(nèi)部服務(wù)器(master節(jié)點(diǎn))在master節(jié)點(diǎn)上將
#1)ssh登錄到Master節(jié)點(diǎn)贺待,從外部鏡像中pull下nodejs到docker中
docker pull nodejs-builder:1.0
#2)修改標(biāo)簽為內(nèi)部鏡像倉庫的標(biāo)簽(需要再復(fù)習(xí)標(biāo)簽的寫法)
docker tag registry.example.com/nodejs-builder:1.0 172.30.231.123:5000/openshift/nodejs-builder:1.0
#3)獲得服務(wù)器密鑰
oc whoami -t
#4)登錄rejistory服務(wù)(使用的是鏡像),用戶名admin零截,密碼是密鑰
docker login X.X.X.X:5000
login:admin
#5)將下載到服務(wù)器的nodejs鏡像push到內(nèi)部鏡像倉庫
docker push X.X.X.X:5000/openshift/nodejs-builder:1.0