保证实验环境纯净删除启动的docker
1.安装建立认证文件的工具包
[root@localhost ~]# yum install httpd-tools -y
2.创建目录存放认证文件
[root@localhost ~]# mkdir auth
[root@localhost ~]# htpasswd -Bc auth/.htpasswd lee #-B 强制使用最安全加密方式,默认用md5加密 用户名lee
[root@localhost ~]# cat auth/.htpasswd #查询文件是否建立成功
注意!!!!当再次创建用户时,使用-Bc会替换原先用户
直接使用-B 创建新用户
3.添加认证到registry容器中
注意当状态为Restarting 则命令代码写错
[root@localhost ~]# docker run -d -p 443:443 --restart=always -v /root/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/timinglee.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/timinglee.org.key -v /root/auth:/auth -e REGISTRY_AUTH=htpasswd -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/.htpasswd registry
状态为up,说明启动成功
4.尝试推送 nginx:latest 失败
当仓库开启认证后必须登陆仓库才能进行镜像上传
5.未登陆情况下上传镜像
登录创建的用户名和密码
[root@localhost ~]# docker login reg.timinglee.org
在登录的情况下,上传镜像成功
[root@localhost ~]# docker push reg.timinglee.org/nginx:latest
6.再次测试,仓库底下存在镜像
使用命令-u+用户名(lee)+密码(lee)进行验证
[root@localhost ~]# curl -k https://172.25.254.200/v2/_catalog -ulee:lee