搭建docker registry私有鏡像倉庫

主要參考了https://blog.tfm.ro/setup-and-run-a-standalone-private-docker-registry-v2/http://www.javashuo.com/article/p-ofdehcsb-cc.htmlhtml

1、安裝docker-distributionnginx

yum install -y docker-distribution

安裝完成後,啓動服務:docker

systemctl enable docker-distribution.service
systemctl start docker-distribution.service

2、配置config.yamljson

在/etc/docker-distribution/registry目錄下編輯config.yaml文件以下:api

version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory
    filesystem:
        rootdirectory: /var/lib/registry  #可更改
http:
    addr: [倉庫運行的IP地址]:[倉庫運行的端口,可設爲5000]

3、修改daemon.jsonbash

在/etc/docker目錄下編輯daemon.json文件,在大括號裏增長一行:curl

"insecure-registries": ["倉庫IP:倉庫端口"],

隨後重啓docker:測試

systemctl restart docker

這樣就完成了私有倉庫的搭建。url

4、測試上傳3d

用docker images查看已下載的鏡像,選擇一個,例如nginx,打上標籤:

docker tag [nginx鏡像的ID] [倉庫IP]:[倉庫端口]/nginx

以後,用docker push命令將打上標籤後的鏡像上傳至私有倉庫:

docker push [倉庫IP]:[倉庫端口]/nginx

看到相似於下面這樣的提示後,說明上傳成功:

4258832b2570: Pushed 
683a28d1d7fd: Pushed 
d626a8ad97a1: Pushed 
latest: digest: sha256:b3cd8d196926586f70a060b1b61a7c34dd716effe0daf5cf68419ec0bc21ab3d size: 948

5、測試查詢

Docker registry v2的API與v1差別很是大。例如,用下面的命令查看已上傳的鏡像:

curl -X GET http://倉庫IP:倉庫端口/v2/_catalog

應該可以返回:

{"repositories":["nginx"]}

其他的API能夠從官方文檔上查到https://docs.docker.com/registry/spec/api/

相關文章
相關標籤/搜索