1、安装httpd-tools
yum install httpd-tools -y
2、创建用户密码文件
mkdir -p /home/registry/auth
htpasswd -Bbn test 123456 > /home/registry/auth/htpasswd
注意:网上有很多是这种方式: docker run --entrypoint htpasswd registry -Bbn username password auth/htpasswd 这个命令指运行docker窗口里的htpasswd命令。
但是现在使用这个命令一直报错:docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: “htpasswd”: executable file not found in $PATH: unknown.
因此使用httpd-tools来创建用户密码文件
3、创建带用户验证的仓库
docker run -d -p 5000:5000 --restart=always --name registry1 \
-v /home/registry/data:/var/lib/registry \
-v /home/registry/auth:/auth \
-e "REGISTRY_AUTH=htpasswd" \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
registry
4、浏览器打开 http://192.168.0.101:5000/v2/_catalog,提示需要用户名密码登录
输入用户名与密码
仓库创建成功!