Docker系列六: 使用Docker官方公共倉庫和私有倉庫


使用公共倉庫

登陸官方網站:https://hub.docker.com/   注冊賬號和密碼

在Docker hub中創建一個資源,  create  respositories,   創建后會提示如何push鏡像到公共倉庫

當提示: docker push dai163309889254/zabbix:tagname  時, 使用該命令push鏡像

 

在Docker主機上面, 把需要推送的鏡像命名為 dai163309889254/zabbix:latest

docker tag zabbix:latest dai163309889254/zabbix:latest

 

登陸docker hub開始推送

docker login
# 輸入注冊的docker hub的賬號密碼

# 開始推送鏡像
docker push dai163309889254/zabbix:latest

 

最后登陸到Docker Hub上面就可以看到鏡像的信息(鏡像大小,最后一次推送時間等信息)

 

使用私有倉庫

docker 已經打包好了一個鏡像倉庫, 直接下載並運行即可

 

創建好使用的配置文件

#cat config.yml
 
version: 0.1
log:
  fields:
    service: registry
storage:
  delete:
    enabled: true
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
http:
  addr: :7000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

 

運行容器

docker run -d -p 7000:7000 -v /opt/data/registry:/var/lib/registry  -v /data/config.yml:/etc/docker/registry/config.yml  registry 

 

當容器運行時,會監聽7000端口

使用瀏覽器或者curl訪問tcp的7000端口返回   {}  表示運行成功

 

修改docker配置解決推送時提示 http: server gave HTTP response to HTTPS client, 因為Docker從1.3.X之后,與docker registry交互默認使用的是https,然而此處搭建的私有倉庫只提供http服務,所以當與私有倉庫交互時就會報上面的錯誤。為了解決這個問題需要在啟動docker server時增加啟動參數為默認使用http訪問。修改docker啟動配置文件:

{
  "registry-mirrors":["http://hub-mirror.c.163.com"],   #鏡像加速
  "insecure-registries":["172.16.27.139:7000"]         # 添加非ssl倉庫
}

 

重啟docker服務

service docker restart

 

修改鏡像名稱為本地鏡像名稱

docker tag zabbix:latest 172.16.27.139:7000/zabbix:latest

 

推送鏡像到本地倉庫

docker push 172.16.27.139:7000/zabbix:latest

 

查看是否存在鏡像

http://172.16.27.139:7000/v2/_catalog

 


免責聲明!

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



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