docker 建立本地倉庫詳解(push/pull)
阿新 • • 發佈:2018-12-22
除了使用Docker Hub,還可以根據自己的需求建立似有倉庫。下面就介紹在centos7 下建立似有倉庫。本文內容基於 docker-registry v2.x 版本。
- 執行倉庫映象
通過獲取官方 registry 映象來執行
$ docker run -d -p 5000:5000 --restart=always --name registry registry
預設建立的容器目錄: /var/lib/registry .你可以通過 -v 引數來將映象檔案存放在本地的指定路徑。例如下面的例子將上傳的映象放到本地的 /home/data/registry 目錄。
$ docker run -d \ -p 5000:5000 \ -v /home/data/registry:/var/lib/registry \ registry
- push/pull似有倉庫
建立好似有倉庫、並執行之後。就可以將自己的映象push 到似有倉庫了。
假設似有倉庫的地址是 192.168.103.22:5000
2.1 檢視本機映象
$ docker image ls REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu latest ba5877dc9bec 9 weeks ago 192.7 MB
使用 docker tag 將 ubuntu:latest 這個映象標記為 192.168.103.22:5000/ubuntu:latest。
$ docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest $ docker image ls REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu latest ba5877dc9bec 9 weeks ago 192.7 MB 192.168.103.22:5000/ubuntu:latest latest ba5877dc9bec 9 weeks ago 192.7 MB
2.2 使用 docker push 上傳標記的映象
$ docker push 192.168.103.22:5000/ubuntu:latest
The push refers to repository [192.168.103.22:5000/ubuntu]
373a30c24545: Pushed
a9148f5200b0: Pushed
cdd3de0940ab: Pushed
fc56279bbb33: Pushed
b38367233d37: Pushed
2aebd096e0e2: Pushed
latest: digest: sha256:fe4277621f10b5026266932ddf760f5a756d2facd505a94d2da12f4f52f71f5a size: 1568
2.3 curl 檢視倉庫中的映象
$ curl 127.0.0.1:5000/v2/_catalog
{"repositories":["ubuntu"]}
2.4 在另一臺主機(假設IP:192.168.103.23)pull該映象
首先在192.168.103.23 建立檔案 /etc/docker/daemon.json
寫入內容
{
"insecure-registries": [
"192.168.103.22:5000"
]
}
然後重啟啟動 docker
service docker restart