创建带用户认证的docker私有仓库与管理

本文介绍了如何创建带有用户认证的Docker私有仓库,包括下载registry镜像,设置权限目录,创建仓库容器,上传和查看镜像。详细步骤包括使用htpasswd加密密码,标记并推送镜像,以及解决客户端连接问题。
摘要由CSDN通过智能技术生成

下载registry 镜像

registy为docker官方提供的一个镜像,我们可以用它来创建本地的docker私有仓库。

docker pull registry

创建一个auth 权限目录

mkdir ~/auth

利用htpasswd将密码加密保存

yum install -y httpd
htpasswd -Bbn daiguojin 123456 > ~/auth/htpasswd 

完成后检查是否有加密过后的密码

[root@es1 opt]# cat auth/htpasswd
liaochao:$2y$05$rtJOOaNRV7ywpdc7bIzLIOCfOR8UUOv/u5EyOhHqyTCVlDUPBXUFK 

创建私有仓库容器 

docker run -d -p 5000:5000 --restart=always --name registry \
-v /root/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry:latest

参数解释:-d 后台启动,-p 端口映射(前面是宿主机,后面是容器端口),–restart=always,跟随容器启动,–name 命名,-v 挂载数据,pwd代表当前路径,-e 传入参数 

登录仓库:

docker login 127.0.0.1:5000

输入账号密码会提示成功,账号密码为刚刚定义的账号密码 

Username: daiguojin
Password: 123456

Succeeded

上传镜像 

先标记

docker tag 3600de5aafc6 127.0.0.1:5000/chao/nginx

再上传

docker push 127.0.0.1:5000/chao/nginx 

此时docker images,可以看到我们刚刚上传的资源
此时我们可以先登录私有仓库:
docker login 127.0.0.1:5000

#然后可以下载仓库里面的镜像:

docker pull 127.0.0.1:5000/chao/nginx 

查看有哪些镜像 

curl -u liaochao:123456 127.0.0.1:5000/v2/_catalog

{"repositories":["chao/nginx"]}

如果出现在客户端出现类似:Get https://172.18.3.22:5000/v2/: http: server gave HTTP response to HTTPS client 错误
解决:在客户端加入下面内容

vim /etc/docker/daemon.json

{ "insecure-registries":["192.168.1.40:5000"] }

systemctl daemon-reload

systemctl restart docker 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值