Docker 私有镜像仓库的搭建及认证 (2)

  

# 创建存储鉴权密码文件目录 mkdir -p /usr/local/registry/auth # 如果没有 htpasswd 功能需要安装 httpd yum install -y httpd # 创建用户和密码 htpasswd -Bbn root 1234 > /usr/local/registry/auth/htpasswd

htpasswd 是 apache http 的基本认证文件,使用 htpasswd 命令可以生成用户及密码文件。

  

创建私有仓库容器

  

docker run -di --name registry -p 5000:5000 \ -v /mydata/docker_registry:/var/lib/registry \ -v /usr/local/registry/certs:/certs \ -v /usr/local/registry/auth:/auth \ -e "REGISTRY_AUTH=htpasswd" \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=http://www.likecs.com/auth/htpasswd \ -e REGISTRY_HTTP_TLS_CERTIFICATE=http://www.likecs.com/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=http://www.likecs.com/certs/domain.key \ registry

  

推送镜像至私有仓库失败

  

  先给镜像设置标签 docker tag local-image:tagname new-repo:tagname;

  再将镜像推送至私有仓库 docker push new-repo:tagname。

docker tag hello-world:latest 192.168.10.10:5000/test-hello-world:1.0.0 docker push 192.168.10.10:5000/test-hello-world:1.0.0

  如果直接 push 镜像肯定会失败,并且出现 no basic auth credentials 的错误,这是因为我们没有进行登录认证。

Docker 私有镜像仓库的搭建及认证

  

登录账号

  

  通过 docker login 命令输入账号密码登录私有仓库。

Docker 私有镜像仓库的搭建及认证

  

推送镜像至私有仓库成功

  

  再次 push 镜像,发现已经可以推送成功了。

Docker 私有镜像仓库的搭建及认证

  

退出账号

  

  通过 docker logout 命令退出账号。

[root@localhost ~]# docker logout 192.168.10.10 Removing login credentials for 192.168.10.10

私有镜像仓库的搭建还可以通过 Harbor 实现,Harbor 是由 VMware 公司开源的企业级的 Docker Registry 管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。后期我也会和大家分享关于 Harbor 的使用,下文我们先来学习 Docker 网络相关的内容,解决一下容器网络通信的问题。

Docker 私有镜像仓库的搭建及认证

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjyff.html