docker私有倉庫建立/上傳/下載/刪除映象
阿新 • • 發佈:2018-12-14
建立
由公共倉庫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>