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

下载registry 镜像

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

docker pull registry 
cd /opt/

创建一个auth 权限目录

mkdir auth 

利用htpasswd将密码加密保存。

docker run --entrypoint htpasswd registry:2 -Bbn liaochao 123456 > auth/htpasswd

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

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

创建私有仓库容器

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

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

登录仓库:

docker login 127.0.0.1:5000

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

Username: liaochao
Password:
Login 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值