#++++++++++++++++++++++++++++++
#docker-registry 私有倉庫
#搜索,下載register鏡像
docker search registry
docker pull registry
docker images
#創建容器registry
mkdir -p /www/docker/registry
docker run --name registry --restart=always -p 5000:5000 \
-v /www/docker/registry:/var/lib/registry -d registry
docker ps -l
#鏡像倉庫地址使用域名
echo '127.0.0.1 hub.test.com'>>/etc/hosts
#修改tag (以hello-world為例)
docker push hello-world
docker tag hello-world hub.test.com:5000/hello-world:1.0
#上傳、刪除、再下載鏡像,刪除后能下載成功
docker images
docker push hub.test.com:5000/hello-world:1.0
docker rmi hub.test.com:5000/hello-world:1.0
docker images
docker pull hub.test.com:5000/hello-world:1.0
docker images
#查看倉庫鏡像
curl hub.test.com:5000/v2/_catalog
#++++++++++++++++++++++++++++++
#registry開啟刪除
#查看默認配置
docker exec -it registry sh -c 'cat /etc/docker/registry/config.yml'
#開啟刪除(添加 delete: enabled: true)
docker exec -it registry sh -c "sed -i '/storage:/a\ delete:' /etc/docker/registry/config.yml"
docker exec -it registry sh -c "sed -i '/delete:/a\ enabled: true' /etc/docker/registry/config.yml"
#重啟
docker restart registry
#查詢、刪除鏡像
#查詢鏡像
curl <倉庫地址>/v2/_catalog
#查詢鏡像tag(版本)
curl <倉庫地址>/v2/<鏡像名>/tags/list
#刪除鏡像API
curl -I -X DELETE "<倉庫地址>/v2/<鏡像名>/manifests/<鏡像digest_hash>"
#獲取鏡像digest_hash
curl <倉庫地址>/v2/<鏡像名>/manifests/<tag> \
--header "Accept: application/vnd.docker.distribution.manifest.v2+json"
# 為方面使用,寫了個shell腳本
#默認查詢 -h #幫助 -d #刪除
#++++++++++++++++++++++++++++++
#沒配置https,非本機,需要配置安全地址才能使用
#docker私有倉庫設置(hub.test.com:5000替換為自己的地址)
SetOPTS=" --insecure-registry hub.test.com:5000"
sed -i "s#^ExecStart.*#& $SetOPTS #" /usr/lib/systemd/system/docker.service
grep 'ExecStart' /usr/lib/systemd/system/docker.service
#重啟docker
systemctl daemon-reload
systemctl restart docker
#++++++++++++++++++++++++++++++