docker-registry服务器笔记

一、docker-registry自建仓库

此处查看英文文档 =>官方开源文档,部署服务器 Deploy a registry server

  1. 自定义镜像数据存储目录为/data/docker/registry/data
  2. http基础验证用户密钥配置为/data/docker/registry/auth/htpasswd
  3. 启动命令为
docker run -d -p 5000:5000 --restart=always --name registry \
-v /data/docker/registry/data:/var/lib/registry \
-e REGISTRY_STORAGE_DELETE_ENABLED=true  \	## 开启api删除权限,但还无法完全删除镜像文件
-e REGISTRY_HTTP_ADDR=0.0.0.0:5000  \
-v /data/docker/registry/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry:latest
  1. 创建用户名密码的方式为
 $ mkdir auth
 $ docker run \	## 使用docker镜像
   --entrypoint htpasswd \
   httpd:2 -Bbn testuser testpassword > auth/htpasswd

htpasswd -Bbn [user] [passwd] > auth/htpasswd

-B:强制密码加密
-b:使用命令行中的密码而不是提示输入密码
-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上

Registry API

更多访问传送门 => HTTP API V2

二、镜像垃圾空间回收

当前仓库配置默认配置删除时,不允许删除镜像,因此tag被删除的镜像会成为游离状态的无用文件,空间占用会越来越大

  1. 更改registry配置,允许删除镜像
# registry容器内/etc/docker/registry/config.yml
storage:
    delete:
        enabled: true
  1. registry容器内手动执行garbage-collect
Usage:
  registry garbage-collect <config> [flags]
Flags:
  -m, --delete-untagged=false: delete manifests that are not currently referenced via tag
  -d, --dry-run=false: do everything except remove the blobs
  -h, --help=false: help for garbage-collect
  1. 容器外,使用docker命令执行docker exec <container> <command>,指定registry的容器,再指定要执行的命令
    docker exec registry registry garbage-collect /etc/docker/registry/config.yml
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值