Docker容器registry创建私有服务器

本文详细介绍了如何创建并运行一个私有的Docker Registry服务器,包括从Docker Hub拉取registry镜像,解决push镜像时的HTTP 500错误,以及设置用户登录验证。通过挂载目录和设置环境变量实现Registry的持久化和权限管理。
摘要由CSDN通过智能技术生成

1.docker pull registry

2.

docker run -d -p 5000:5000 --privileged=true -v /opt/data/registry:/var/lib/registry registry

注意:如果不加--privileged=true的时候,在push image的时候会报received unexpected HTTP status: 500 Internal Server Error

此版本registry默认的容器仓库地址/var/lib/registry


3.测试

docker  images

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
docker.io/registry       latest              c2a449c9f834        6 days ago          33.18 MB
docker.io/ubuntu         latest              d355ed3537e9        2 weeks ago         119.2 MB
127.0.0.1:5000/centos    latest              3bee3060bfc8        4 weeks ago         192.5 MB
127.0.0.1:5000/centoss   latest              3bee3060bfc8        4 weeks ago         192.5 MB
docker.io/registry       2.1.1               52bb991b482e        20 months ago       220.1 MB


docker tag d355ed3537e9  127.0.0.1:5000/ubuntu


docker images 

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
docker.io/registry       latest              c2a449c9f834        6 days ago          33.18 MB
docker.io/ubuntu         latest              d355ed3537e9        2 weeks ago         119.2 MB
127.0.0.1:5000/ubuntu    latest              d355ed3537e9        2 weeks ago         119.2 MB
127.0.0.1:5000/centos    latest              3bee3060bfc8        4 weeks ago         192.5 MB
127.0.0.1:5000/centoss   latest              3bee3060bfc8        4 weeks ago         192.5 MB
docker.io/registry       2.1.1               52bb991b482e        20 months ago       220.1 MB


docker push 127.0.0.1:5000/ubuntu

The push refers to a repository [127.0.0.1:5000/ubuntu]
0566c118947e: Pushed 
6f9cf951edf5: Pushed 
182d2a55830d: Pushed 
5a4c2c9a24fc: Pushed 
cb11ba605400: Pushed 
latest: digest: sha256:a0ee7647e24c8494f1cf6b94f1a3cd127f423268293c25d924fbe18fd82db5a4 size: 1357

测试成功


4.配置私有仓库通过用户登录

 4.1准备

  1. mkdir /opt/registry-var/auth/  
  2. docker run --entrypoint htpasswd registry -Bbn test test1  >> /opt/registry-var/auth/htpasswd  
创建/opt/registry-var/auth的文件夹

 -Bbn 参数用于添加用户名与密码,上面添加了用户名为test 用户密码为test1的用户

 4.2启动registry的命令

docker run -d -p 5000:5000 --restart=always --privileged=true -v /opt/registry-var/auth/:/auth/ -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd  -v /opt/registry:/var/lib/registry registry

命令详解:

-p 5000:5000  #指定宿主机端口与容器端口的绑定

-e xxxx    #添加环境变量

-v #指定宿主机文件挂载到 容器某个文件下


4.3测试

没有登录的话  pull,push命令回报错

登录  docker login 127.0.0.1:5000

根据提示输入 用户名 与用户密码

提示:

[root@localhost auth]# docker login 127.0.0.1:5000
Username: test
Password: 
Login Succeeded

登录成功后可以正常操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值