1. 程式人生 > >docker私有倉庫建立/上傳/下載/刪除映象

docker私有倉庫建立/上傳/下載/刪除映象

建立

由公共倉庫pull registry映象

// An highlighted block
[[email protected] docker]# docker pull registry:2.6.2
2.4版本後才支援刪除倉庫映象功能

建立私有倉庫registry

建立/conf/config.yml檔案,內容如下:

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

如果要有刪除倉庫映象功能,須增加delete_enabled_true配置

[[email protected] docker]# docker run -d -p 5000:5000 --privileged=true --restart=always --name=registry -v /conf/:/etc/docker/registry/ -v /docker/registry/:/var/lib/registry/ docker.io/registry:2.6.2

上傳

生成映象

docker commit -m "映象說明" -a "作者" container_id 映象名稱:版本號

修改標籤

docker tag 映象名稱:版本號  localhost:5000/映象名稱:版本號

也可以在上一步直接提交到位

上傳映象

docker push localhost:5000/映象名稱:版本號

下載

docker pull localhost:5000/映象名稱:版本號

刪除

檢視倉庫中的映象

curl  -X GET localhost:5000/v2/_catalog
curl -I -X GET <protocol>://<registry_host>/v2/<映象名>/tags/list

檢視需要刪除映象的sha256值

curl  --header "Accept: application/vnd.docker.distribution.manifest.v2+json"   -I -X GET localhost:5000/v2/<映象名>/manifests/<版本號>

刪除映象

curl -I -X DELETE localhost:5000/v2/<><映象名>/manifests/sha256:<hash值>

刪除映象檔案

docker exec <容器名> rm -rf /var/lib/registry/docker/registry/v2/repositories/<映象名>

docker exec -it <registry_container_id> bin/registry garbage-collect <path_to_registry_config>