Docker系列11:自建registry(1)
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,一、registry基础1、registry的类别Sponsor Registry:第三方的registry,供用户和社区使用Mirror Registry:第三方的registry,供用户使用Ven
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
r语言怎么改数据库的名字
用网站做我的世界服务器
flash 数据库
沈阳中泽城易网络技术有限公司
网络安全相关命令
多台服务器 同步时间同步
苹果云服务器贵州云主机
想去学习网络技术
查看sql数据库版本的方法
阿里投入网络技术潜力
文昌民宿软件开发
软件开发服务怎么入账
微信小程序查找云数据库
用数据库系统创建一个库
想转行软件开发怎样找工作
什么是外部数据库
我的世界史上管理最差的服务器
软件开发需要学会数据库吗
兵人指挥官服务器维护
中国网络安全上市公司有哪些
学网络安全要学英语
网络技术三级有课本吗
基于中文数据库的知...
数据库受住
游戏软件开发的风险
5G网络技术英语作文
网页录入数据如何写到数据库
鄱阳县网络安全技术科
网络技术问题
服务器降温方案