利用docker-compose来给自己搭建一个Docker-Registry(私有)服务

Docker仓库类型简介
Docker-hub(公共)

Docker Hub是Docker提供的一项服务,用于与您的团队查找和共享容器图像。它提供以下主要功能:
存储库:推拉容器图像。
团队和组织:管理对容器映像的私有存储库的访问。
官方图片:拉取并使用Docker提供的高质量容器图片。
发布者图像:拉取并使用外部供应商提供的高质量容器图像。
Builds:从GitHub和Bitbucket自动构建容器映像,并将它们推送到Docker Hub。
Webhooks:成功推送到存储库后触发操作,以便将Docker Hub与其他服务集成。

Docker-Registry(私有)

如果服务器没法联网或者不希望将自己制作的镜像放在公网上,那么这个时候就需要Docker Registry,它可以用来存储和管理自己的镜像。

一键安装部署

考虑到Docker-Registry安装完毕后,想更好的形式去管理自己仓库里的镜像,直接把web服务和Docker-Registry服务一并创建在我们的docker-compose.yml的文件中,具体配置如下:

version: "3"
services: 
    registry:
        privileged: true     #这里把权限配置成true
        image: registry      #镜像来源
        restart: always      #开机后自己启动
        container_name: registry   #自定义服务名
        ports:               #暴露端口
            - 5000:5000
        volumes:            #挂载目录配置
            - /usr/local/docker/registry/data:/var/lib/registry
    web:
        image: konradkleine/docker-registry-frontend:v2   
        links:
             - registry:docker-registry.com # 服务名:这里适使用自定义的名字 ,env可以直接使用这个名字去调用
        restart: always
        ports:
             - 80:80
        environment:
             - ENV_DOCKER_REGISTRY_HOST=docker-registry.com #配置links的自定义名字
             - ENV_DOCKER_REGISTRY_PORT=5000

启动docker-compose:

docker-compose up -d

访问网页:
方式一:(主机IP):5000/v2/
web端 主机IP:80
方式二:(域名):5000/v2/
web端 域名:80
在这里插入图片描述
在这里还需要配置私服的地址:

{
  "registry-mirrors": ["https://hub-mirror.c.163.com"],
  "insecure-registries": ["docker-registry.com:5000"]  
}

重新启动一下服务

systemctl restart docker

在这里要注意一下:配置地址的时候格式必须要正确,否则docker启动报错

现在我们将本地已有的镜像打个包上传到私服(以mysql:laster为例)

$ docker tag mysql:latest docker-registry.com:5000/mysql:1.2   
$ docker push docker-registry.com:5000/mysql            
e9affce9cbe8: Pushed 
316393412e04: Pushed 
d0f104dc0a1f: Pushed 
1.2: digest: sha256:5f7620b5dfa7982adb8127e047b3ade838b9621487f085bc3c004f8387cfe14d size: 2828

在这里我们可以看到已经将本地的mysql镜像重新打包版本到1.2并且上传成功了

我们可以通过web端去查看下
在这里插入图片描述最后我们可以拉取这个镜像到本地

docker pull docker-registry.com:5000/mysql:1.2

在这里插入图片描述
至此私仓服务已经搭建完毕并且测试成功。

提示:我们已经为广大虚拟化技术爱好者提供了微信群平台,有兴趣的请加入群哦。
公众号:
在这里插入图片描述
微信群
在这里插入图片描述

### 解决 PP-OCRv4 出现的错误 当遇到 `WARNING: The pretrained params backbone.blocks2.0.dw_conv.lab.scale not in model` 这样的警告时,这通常意味着预训练模型中的某些参数未能匹配到当前配置下的模型结构中[^2]。 对于此问题的一个有效解决方案是采用特定配置文件来适配预训练权重。具体操作方法如下: 通过指定配置文件 `ch_PP-OCRv4_det_student.yml` 并利用已有的最佳精度预训练模型 (`best_accuracy`) 来启动训练过程可以绕过上述不兼容的问题。执行命令如下所示: ```bash python3 tools/train.py -c configs/det/ch_PP-OCRv4/ch_PP-OCRv4_det_student.yml ``` 该方案不仅解决了参数缺失带来的警告,还能够继续基于高质量的预训练成果进行微调,从而提升最终检测效果。 关于蒸馏的概念,在机器学习领域内指的是将大型复杂网络(teacher 模型)的知识迁移到小型简单网络(student 模型)。这里 student 和 teacher 的关系是指两个不同规模或架构的神经网络之间的指导与被指导的关系;其中 teacher 已经经过充分训练并具有良好的性能,而 student 则试图模仿前者的行为模式以达到相似的效果但保持更高效的计算特性。 至于提到的 `Traceback` 错误信息部分,由于未提供具体的跟踪堆栈详情,难以给出针对性建议。不过一般而言,这报错往往涉及代码逻辑错误或是环境配置不当等问题。为了更好地帮助定位和解决问题,推荐记录完整的异常日志,并仔细检查最近修改过的代码片段以及确认依赖库版本的一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值