Docker Registry搭建私有鏡像倉庫

微服務的鏡像會上傳到Docker倉庫保存,常用的公網Docker倉庫有阿里雲,網易雲等,在企業局域網也可以搭建自己的Docker私有倉庫,本教程使用Docker提供的私有倉庫registry。

1.拉取私有倉庫鏡像

docker pull registry 

1.jpg

2.創建啓動私有倉庫容器

docker run -dit -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name docker-registry registry

參數說明

  • -dit:在容器中打開一個僞終端進行交互操作,並在後臺運行
  • -v:把宿主機的/data/registry目錄掛載到容器/var/lib/registry目錄(這個目錄是registry容器中存放鏡像文件的目錄),來實現數據的持久化
  • -p:映射端口,訪問宿主機的5000端口就訪問到registry容器的服務了
  • --restart=always:這是重啓的策略,假如這個容器異常退出會自動重啓容器
  • --name docker-registry:創建容器命名爲docker-registry,你可以隨便命名
  • registry:pull下來的鏡像

2.jpg
上邊顯示 registry鏡像已經創建,並且docker-registry容器已經啓動成功。訪問:http://139.9.40.41:5000/v2/_catalog,響應結果如下:

{"repositories":[]}

上邊的響應結果說明在docker私有倉庫中還沒有鏡像。

默認docker-registry只允許https提交鏡像,如下配置使docker-registry支持http,在/etc/docker下,創建daemon.json文件,寫入:

{ 
  "insecure-registries": [ "139.9.40.41:5000"]
}

3.重啓docker

systemctl restart docker

4.鏡像上傳至私有倉庫
標記此鏡像爲私有倉庫的鏡像

docker tag docker.io/hello-world 139.9.40.41:5000/hello-world:v1

上傳標記的鏡像

docker push 139.9.40.41:5000/hello-world:v1

snipaste_20191016_105732.jpg

列出所有鏡像
[root@2 docker]# curl http://139.9.40.41:5000/v2/_catalog
{"repositories":["hello-world"]}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章