倉庫簡介
隨着創建的鏡像日益增多,就需要有一個保存鏡像的地方,這就是倉庫。目前有兩種倉庫:公共倉庫和私有倉庫。最方便的就是使用公共倉庫上傳和下載鏡像,下載公共倉庫中的鏡像不需要註冊,但上傳鏡像到公共倉庫是需要註冊的。公共倉庫中填寫完成倉庫的ID號、郵箱以及登錄倉庫的密碼並在郵件中進行激活就可以上傳自己的鏡像。
那麼怎麼構建屬於自己的私有倉庫呢?可以使用registry來搭建本地私有倉庫。
步驟
下載registry鏡像
# docker pull registry
下載完成後的狀態:
Using default tag: latest
latest: Pulling from library/registry
4064ffdc82fe: Pull complete
c12c92d1c5a2: Pull complete
4fbc9b6835cc: Pull complete
765973b0f65f: Pull complete
3968771a7c3a: Pull complete
Digest: sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8
Status: Downloaded newer image for registry:latest
創建json文件
# vim /etc/docker/daemon.json
{ "insecure-registries":["192.168.177.147:5000"]} //本地的IP及端口號
重啓服務
# systemctl restart docker.service
==注==:創建完json文件後,一定要重啓服務,不然後面可能會出錯
創建容器並掛載
# docker create -it registry /bin/bash //創建容器
# docker ps -a //查看容器的運行狀態
# docker start 67b98e15c857
# docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
//宿主機的/data/registry自動創建掛載容器中的/tmp/registry
上傳鏡像
# docker tag jasonlix/docker-cobbler 192.168.177.147:5000/cobbler
//更改標記爲192.168.177.147:5000/cobbler
# docker push 192.168.175.145:5000/cobbler
//上傳鏡像
顯示:
The push refers to a repository [192.168.177.147:5000/cobbler]
983c23e6d629: Pushed
58c8b3d7f322: Pushed
e6bf41084b0e: Pushed
eb048cf06c75: Pushed
34e7b85d83e4: Pushed
latest: digest: sha256:dfb7b852c32b24b92fc3dff6f559dbf3ab77cbdf1b0247a843ffcddd336f3ab0 size: 1362
獲取私有倉庫列表
# curl -XGET http://192.168.177.147:5000/v2/_catalog
//獲取私有倉庫列表