Docker Registry v2的搭建后任何用随意pull和push的问题

1、关于这个问题,其实官网已经做了相关说明https://docs.docker.com/registry/configuration/#/auth

2、下面我以htpasswd为例来说明registry的auth问题。

1)从docker hub拉取registry镜像:docker pull registry:2.4.1 

2)编辑registry的配置文件config.yml,具体内容如下

version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory
    filesystem:
        rootdirectory: /var/lib/registry
http:
    addr: :5000
auth:
  htpasswd:
    realm: basic-realm
    path: /auth/htpasswd
其中:auth说明对registry进行pull和push操作需要进行认证

认证的方式是htpasswd,也就是用户名和密码认证

path指明在容器内htpasswd文件的存放位置

3)利用registry:2.4.1 创建registry容器:

docker run -d -p 5000:5000 --restart=always \  
  -v /opt/registry/auth/:/auth/ \  
  -e "REGISTRY_AUTH=htpasswd" \  
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \  
  -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \  
  -v /opt/registry/:/var/lib/registry/ \  
  registry:2.4.1  

注意:宿主机的/opt/registry/auth目录下有htpasswd文件,文件中内容产生发发如下:

docker run --entrypoint htpasswd registry:2.4.1 -Bbn admin admin >> /opt/registry/auth/htpasswd  
其中admin admin分别是用户名和密码

4)验证registry容器是否创建成功

docker ps

docker@dockertest4:/opt/registry$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
fa8a1d43e6cd        registry            "/entrypoint.sh /etc/"   19 minutes ago      Up 12 minutes       0.0.0.0:5000->5000/tcp   awesome_borg

5)这样在执行push和pull操作的时候应该是需要先进行docker login,然后进行再执行push和pull操作



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值