[root@centos01 ~]# yum -y install httpd-tools <!–安装加密工具httpd-tools–>
[root@centos01 ~]# mkdir /opt/registry-auth <!–创建存放验证密钥目录–>
[root@centos01 ~]# htpasswd -Bbn bob pwd@123 > /opt/registry-auth/htpasswd
<!–配置registry身份验证数据库–>
<!–“-Bbn”参数解释:B强制密码加密;b在命令中输入密码,不提示输入密码;n不更新密钥文件–>
<!–删除此服务器上的所有容器,接下来重新生成一个需要身份验证的私有仓库容器–>
[root@centos01 ~]# docker run -d -p 5000:5000 –restart=always \
-v /opt/registry-auth/:/auth/ \
-v /opt/registry:/var/lib/registry –name registry-auth -e “REGISTRY_AUTH=htpasswd” \
-e “REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm” \
-e “REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd” registry
<!–重新运行一个支持身份验证的registry私有镜像仓库容器–>
[root@centos01 ~]# docker tag tomcat:latest 192.168.100.10:5000/image/tomcat:1.0
<!–镜像修改标签–>
[root@centos01 ~]# docker push 192.168.100.10:5000/image/tomcat:1.0
<!–测试不通过身份验证是否可以往私有仓库上传镜像–>
no basic auth credentials
<!–提示没有身份验证,上传不了–>
[root@centos01 ~]# docker login 192.168.100.10:5000
<!–登录私有镜像仓库,通过身份验证即可上传–>
Username: bob <!–输入bob–>
Password: <!–输入密码–>
……………… <!–此处省略部分内容–>
Login Succeeded <!–已通过身份验证,此时可以上传镜像到私有仓库–>
[root@centos01 ~]# docker push 192.168.100.10:5000/image/tomcat:1.0 <!–再次上传镜像到私有仓库–>
The push refers to repository [192.168.100.10:5000/image/tomcat]
b0ac242ce8d3: Pushed
5e71d8e4cd3d: Pushed
eb4497d7dab7: Pushed
bfbfe00b44fc: Pushed
d39111fb2602: Pushed
155d997ed77c: Pushed
88cfc2fcd059: Pushed
760e8d95cf58: Pushed
7cc1c2d7e744: Pushed
8c02234b8605: Pushed
1.0: digest: sha256:55b41e0290d32d6888aee2e9a15f03cc88d2f49d5ad68892c54b9527d0ed181c size: 2421
[root@centos02 ~]# docker pull 192.168.100.10:5000/image/tomcat:1.0
<!–docker客户端不通过身份验证直接下载私有仓库中的镜像直接被拒绝–>
Error response from daemon: Get http://192.168.100.10:5000/v2/image/tomcat/manifests/1.0: no basic auth credentials
[root@centos02 ~]# docker login 192.168.100.10:5000
<!–登录私有仓库,通过身份验证–>
Username: bob <!–输入bob–>
Password: <!–输入密码–>
Login Succeeded <!–通过身份验证–>
[root@centos02 ~]# docker pull 192.168.100.10:5000/image/tomcat:1.0 <!–下载私有仓库中的镜像–>
1.0: Pulling from image/tomcat
376057ac6fa1: Pull complete
5a63a0a859d8: Pull complete
496548a8c952: Pull complete
2adae3950d4d: Pull complete
0a297eafb9ac: Pull complete
09a4142c5c9d: Pull complete
9e78d9befa39: Pull complete
18f492f90b9c: Pull complete
7834493ec6cd: Pull complete
216b2be21722: Pull complete
Digest: sha256:55b41e0290d32d6888aee2e9a15f03cc88d2f49d5ad68892c54b9527d0ed181c
Status: Downloaded newer image for 192.168.100.10:5000/image/tomcat:1.0
192.168.100.10:5000/image/tomcat:1.0
[root@centos02 ~]# docker images <!–查看docker客户端镜像–>
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.100.10:5000/image/tomcat 1.0 1b6b1fe7261e 5 days ago 647MB
192.168.100.10:5000/image/centos 6.7 b2ab0ed558bb 3 years ago 602MB