Docker系列11:自建registry(1)
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、registry基础1、registry的类别Sponsor Registry:第三方的registry,供用户和社区使用Mirror Registry:第三方的registry,供用户使用Ven
千家信息网最后更新 2026年11月02日Docker系列11:自建registry(1)
一、registry基础
1、registry的类别
- Sponsor Registry:第三方的registry,供用户和社区使用
- Mirror Registry:第三方的registry,供用户使用
- Vendor Registry:由Docker官方提供的registry
- Private Registry:私有的registry
【如果用的环境是阿里云,那么用阿里云的registry是最好的选择】2、自建registry有三种方法
- 方法1:本地安装配置registry
- 方法2:使用官方提供的registry镜像
- 方法3:使用Harbor制作registry
二、配置本地的registry
- 在140节点安装registry组件
- 然后将130节点上的镜推送上来
第一步:在 140 节点安装registry组件【在extra源中】
1)安装组件
[root@host2 ~]# yum install docker-registry -y2)检查一下resitory的配置文件
[root@host2 ~]# vim /etc/docker-distribution/registry/config.yml【里面的内容一般不用改动】
version: 0.1log:fields:service: registrystorage:cache: layerinfo: inmemoryfilesystem: rootdirectory: /var/lib/registryhttp:addr: :50003)启动服务
[root@host2 ~]# systemctl start docker-distribution[root@host2 ~]# ss -tnl | grep 5000LISTEN 0 128 [::]:5000 [::]:*第二步:在 130 节点制作镜像并上传到registry
1)修改hosts文件,实现名称解析
[root@host1 ~]# echo "172.16.100.3 host2">>/etc/hosts[root@host1 ~]# ping host22)给一个现有的镜像打上标签
先随意找个镜像[root@host1 ~]# docker image ls | head -n2REPOSITORY TAG IMAGE ID base v1.1 ca1046667ac3给镜像打标签
[root@host1 ~]# docker tag base:v1.1 host2:5000/baseimg:v1-03)编辑docker配置文件
虽然此时已经制作好了镜像,但是还不能推送,因为docker默认用的https协议,而我们的registry用的是http协议[root@host1 ~]# vim /etc/docker/daemon.json{"registry-mirrors": [ "https://registry.docker-cn.com", "https://mzxx8xy8.mirror.aliyuncs.com"],"hosts": ["tcp://0.0.0.0:3725", "unix://var/run/docker.sock"],"insecure-registries": ["host2:5000"]}重启一下服务
[root@host1 ~]# systemctl daemon-reload[root@host1 ~]# systemctl restart docker4)推送镜像
[root@host1 ~]# docker push host2:5000/baseimg:v1-0推送的镜像会保存在服务的特定目录
[root@host2 ~]# ls /var/lib/registry/docker/registry/v2/repositories/baseimg第三步:在 150 节点下载镜像
1)修改docker配置文件,运行不安全的json
同:第二步
2)下载镜像[root@host2 ~]# docker pull host2:5000/baseimg:v1-0三、使用官方的registry
官方通过镜像发布了一个registry,只要启动容器就可以了
第一步:拉取镜像并启动,制作成registry
1)下载镜像
[root@host1 ~]# docker pull registry2)第二步:创建目录
[root@host1 ~]# mkdir -p /opt/{auth,data}[root@host1 ~]# ls /opt/auth data3)第三步:创建认证文件
[root@host1 ~]# docker run --entrypoint \> htpasswd registry -Bbn zxhk 123 > /opt/auth/htpasswd[root@host1 ~]# echo "0">/proc/sys/net/ipv4/ip_forward4)第四步:创建容器
[root@host1 ~]# docker run -d -p 6000:5000 \> --restart=always --name registry1 \> -v /opt/auth:/auth -v /opt/data:/tmp/registry \> -e "REGISTRY_AUTH=htpasswd" \> -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \> -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \> registry第二步:在其他节点使用这个registry
1)修改docker配置文件,允许不安全的json
[root@host2 ~]# vim /etc/docker/daemon.json{"registry-mirrors": [ "https://registry.docker-cn.com", "https://mzxx8xy8.mirror.aliyuncs.com"],"hosts": ["tcp://0.0.0.0:3725", "unix://var/run/docker.sock"],"insecure-registries": ["172.16.100.3:6000"]}2)给镜像打标签
[root@host1 ~]# docker tag nginx:1.17-alpine 172.16.100.3:6000/nginx:v1-13)登录registry
[root@host1 ~]# docker login http://172.16.100.3:60004)推送镜像
[root@host1 ~]# docker push 172.16.100.3:6000/nginx:v1-1
镜像
文件
节点
配置
推送
官方
方法
制作
标签
组件
服务
安全
容器
用户
目录
第三方
阿里
不用
内容
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网通讯科技
没上市的科技互联网公司
青岛互联网科技公司
互联网科技小贷
壕鑫互联网络科技
互联网科技博客
福州新华互联网科技学校 知乎
智腾互联网科技有限公司
华夏互联网科技业
互联网保险科技创业
国大互联网教育科技有限公司工作
威龙国际互联网科技公司
互联网科技公司营业执照怎么办理
小米互联网科技园入驻
深圳互联网科技的发展
北京市互联网新科技
工业互联网科技创业
江苏互联网智能科技产品出厂价
广西科技产业互联网是什么
米泉互联网科技专业怎么样
广州为想互联网科技有限公司
卓越科技(互联网 )
致聘互联网科技
银优互联网科技有限公司
碳银互联网科技有限公司
互联网金融监管科技
互联网科技寓意
茂名市互联网科技产业园
中和天地互联网科技有限公司
广州全民伙伴互联网科技有限公司