docker 局域網倉庫(registry)

sudo docker pull daocloud.io/registry
安裝倉庫(registry)
 使用daocloud/aliyun鏡像吧,官網倉庫真心無法用
 
sudo docker run --name registry --restart=always -d -p 5000:5000 registry
-d:啓動一個守護進程程序(長任務)
-p:指定端口號,通常爲port1:port2形式,port1是宿主機器監聽的端口,port2是對應的docker監聽的程序
--name:指定鏡像名稱
--restart=alway,隨着docker服務而啓動,同時保留倉庫信息
若是啓動成功,經過
sudo lsof -i:5000
將會看到有docker進程在監聽
 
sudo docker tag XXXX 10.1.108.108:5000/centos
XXX表明imageID,能夠經過sudo docker images中查看,添加了前綴10.1.108.108表明這個鏡像是能夠添加到本地(若是指定爲127.0.0.1)/遠程(若是指定是遠程IP)倉庫的,在調用push的時候,自動會解析前綴將其提交。
另外注意起的名稱必定要都是小寫,不能有大寫,不然回報錯
 
sudo docker push 10.1.108.108:5000/centos
將鏡像提交到指定的倉庫(由前綴決定)
 
sudo docker pull 10.1.108.108:5000/centos
某客戶端從局域網倉庫中拉取docker
 
碰到的問題:
Error while pulling image: Get http://10.1.108.108:5000/v1/repositories/centos/images: dial tcp 10.1.108.108:5000: getsockopt: connection refused
表明對方並無啓動倉庫服務,兩種可能:第一種是IP錯誤;第二種是docker的倉庫服務沒有啓動
 
Error: image centos:latest not found
沒有將鏡像push到倉庫裏面,找不到對應的鏡像(centos:latest)
 
Get https://10.1.108.108:5000/v1/_ping: http: server gave HTTP response to HTTPS client
這個異常表明服務器端只是支持http,可是客戶端卻使用https;
在客戶端機器上面的/etc/docker/daemon.json裏面添加以下內容便可:
{
"insecure-registries" : ["10.1.108.108:5000"]
}
表明向指定register請求的時候不須要https(這個不安全)
若是有多的倉庫,能夠在「[]」中添加多個。
這裏注意:docker私服配置文件修改後,要重啓docker纔可以生效
 
sudo docker run --name registry --restart=always -d -p 5000:5000 registry
-d:啓動一個守護進程程序(長任務)
-p:指定端口號,通常爲port1:port2形式,port1是宿主機器監聽的端口,port2是對應的docker監聽的程序
--name:指定鏡像名稱
--restart=alway,隨着docker服務而啓動,同時保留倉庫信息
相關文章
相關標籤/搜索