登陸dockerhub官網(wǎng)創(chuàng)建用戶(hù)并登陸既可使用官方提供的dockerhub空間,增加自己的userID作為上傳的根目錄實(shí)現(xiàn)images的版本控制
https://hub.docker.com/
http://note.youdao.com/noteshare?id=54dad70770ed572d8ba05e35f05104d2&sub=A354A2FC89EB4F1C81302EF5A186FB8F
創(chuàng)建后在dockers服務(wù)器上使用docker login進(jìn)行登陸,登陸后即可進(jìn)行倉(cāng)庫(kù)的上傳下載動(dòng)作
1、使用官方鏡像創(chuàng)建
配置文件
1)在安裝有docker服務(wù)的服務(wù)器上運(yùn)行:
運(yùn)行結(jié)果如下:
2)docker ps (查看正在運(yùn)行中的docker容器)
3)由于第一步創(chuàng)建時(shí)沒(méi)有加--name參數(shù),所以容器創(chuàng)建會(huì)產(chǎn)生一個(gè)隨機(jī)name,為了管理方便對(duì)容器進(jìn)行重命名
docker rename keen_banach registry
4)查看容器對(duì)于的日志
docker logs registry(容器名或ID)
5)通過(guò)get訪問(wèn)查看容器運(yùn)行是否正常
相當(dāng)于瀏覽器直接訪問(wèn)返回的結(jié)果(這部分返回值是由registry容器鏡像制作時(shí)dockerfile中引用決定的)
6)查看宿主機(jī)上的掛載位置:(新增了一個(gè)*.db文件)
內(nèi)容如下:(是一條sqlite的SQL語(yǔ)句)
7)在本地測(cè)試上傳一個(gè)鏡像:
#docker images (查看本地的鏡像文件)
#docker tag rancher/agent:v1.2.11 10.234.2.182:5000/rancher-agent:v1(對(duì)其中一個(gè)鏡像重命名)
v2版本的dir路徑:/var/lib/registry
解決方法
或者docker降級(jí),或者registry升級(jí)到v2版本,并且重新配置,v2版本相交于v1更加合理,但是配置也更加繁瑣
8)最終解決方式使用registry v2版本代替
9)上傳鏡像
客戶(hù)端和服務(wù)端上傳均會(huì)報(bào)錯(cuò),報(bào)錯(cuò)信息:
The push refers to repository [132.232.204.252:5000/rancher-agent]
Get https://132.232.204.252:5000/v2/: http: server gave HTTP response to HTTPS client
大致意思就是客戶(hù)端用https的請(qǐng)求服務(wù)端返回了http的返回
因?yàn)镈ocker從1.3.X之后,與docker registry交互默認(rèn)使用的是https,然而此處搭建的私有倉(cāng)庫(kù)只提供http服務(wù),所以當(dāng)與私有倉(cāng)庫(kù)交互時(shí)就會(huì)報(bào)https錯(cuò)誤。為了解決這個(gè)問(wèn)題需要在啟動(dòng)docker server時(shí)增加啟動(dòng)參數(shù)為默認(rèn)使用http訪問(wèn)。
解決方法有兩種思路:
一、本地配置信任
修改docker.service文件中的start啟動(dòng)項(xiàng)
路徑一般為:/usr/lib/systemd/system/
vim /usr/lib/systemd/system/docker.service
ExexStart=/usr/bin/dockerd -H unix:// 在改行后增加需要信任的服務(wù)端地址
--insecure-registry 127.0.0.1:5000 --insecure-registry 132.232.204.252:5000
修改后需要重新加載deamon
重啟docker服務(wù)
#systemctl daemon-reload
#systemctl restart docker.service
查看docker info 修改前后對(duì)比增加了信任的注冊(cè)registries
再進(jìn)行上傳即可成功
查看倉(cāng)庫(kù)web中也新增了鏡像
二、在服務(wù)端配置nginx代理,增加證書(shū)
坑點(diǎn):
1、docker的發(fā)展有兩部分,一是在2017年3月之前docker一直使用的版本命名方式是docker1.xx,這種方式的最后一個(gè)版本是docker1.13.1版本,在2017年3月,改用年分命名方式,第一版docker17.03,docker版本和redistry的結(jié)合部分在docker1.3版本發(fā)生一些變化,因?yàn)閞egistry v2版本的出現(xiàn)
2、registry 建議直接使用v2版本,0.9.1是最后一個(gè)v1版本,雖然docker有向前兼容性,但是registry的v1和v2項(xiàng)目是完全不同的兩個(gè)項(xiàng)目,并且不具有兼容性
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。