docker—私有仓库搭建
docker—私有仓库搭建
HTTP
部署
docker run -d \-p 5000:5000 \--restart=always \--name registry \-v /opt/data/registry:/var/lib/registry \registry:2
- 使用官方的
registry 镜像来启动私有仓库。默认情况下,仓库会被创建在容器的/var/lib/registry 目录下。你可以通过-v 参数来将镜像文件存放在本地的指定路径,当然你也可以选择其它本地路径,上面的只是一个示例。
使用
-
配置非HTTPS方式推送镜像
cat <<EOF | tee /etc/docker/daemon.json {"registry-mirrors": ["https://hub-mirror.c.163.com","https://mirror.baidubce.com"],"insecure-registries": ["your_ip_addr:5000"] } EOFsystemctl daemon-reload systemctl restart docker -
push and pull
docker tag $image $registry_host_address:5000/$image docker push $registry_host_address:5000/$image docker pull $registry_host_address:5000/$image -
check images
curl your_ip_address:5000/v2/_catalog
HTTPS
部署
-
registry_name
export registry_name=registry.domain.local -
生成证书
sudo -E mkdir -p /opt/registry/certs/ sudo -E openssl req \-newkey rsa:4096 -nodes -sha256 -keyout /opt/registry/certs/domain.key \-subj "/CN=${registry_name}" \-addext "subjectAltName = DNS:${registry_name}" \-x509 -days 365 -out /opt/registry/certs/domain.crt -
deploy registry
docker run -d \--restart=always \--name registry \-v /opt/registry/certs:/certs \-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \-e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \-p 443:443 \registry:2 -
add certificate to host trust chain
-
任何需要访问registry的主机都需要配置
-
cat /etc/os-release -
case "ubuntu"|"debian"
sudo cp /opt/registry/certs/domain.crt /usr/local/share/ca-certificates/$registry_name.crt sudo update-ca-certificates -
case "centos"|"fedora"|"alinux"
sudo cat /opt/registry/certs/domain.crt >> /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust -
case "rhel"
# https://access.redhat.com/solutions/3220561 sudo cp /opt/registry/certs/domain.crt /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust extract cd /etc/pki/tls/certs/ && sudo openssl x509 -in ca-bundle.crt -text -noout -
case others, Please manual add registry certificates to host trust chain.
-
-
Append the entry to allow ip-address resolved to the registry name
任何需要访问registry的主机都需要配置
registry_ip=`hostname -I | awk '{print $1}'` echo "$registry_ip $registry_name" | sudo tee -a /etc/hosts -
Verifiy registry service works
export no_proxy=$no_proxy,$registry_name if ! curl https://$registry_name/v2/_catalog ; thenif ! nc -zv $registry_name 443 ; thenecho "ERROR: failed to connect to 443 port "fiecho "ERROR: registry service is not ready"exit 1 fi
使用
push and pull
docker tag $image $registry_address/$image
docker push $registry_address/$image
docker pull $registry_address/$image
注意:
-
push的时候,需要把docker仓库设置成insecure-registries -
pull时不需要设置
注意
镜像拉取
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/registry:2
docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/registry:2 docker.io/registry:2
相关文章:
docker—私有仓库搭建
docker—私有仓库搭建 HTTP 部署 docker run -d \-p 5000:5000 \--restartalways \--name registry \-v /opt/data/registry:/var/lib/registry \registry:2使用官方的 registry 镜像来启动私有仓库。默认情况下,仓库会被创建在容器的 /var/lib/registry 目录…...
【SpringAOP】深入浅出SpringAOP从原理到源码
AOP对象是如何创建的 对于熟悉Spring IOC流程源码的同学来说,一定了解bean的整个生命周期,也就是从实例化、属性填充、初始化三个过程。那么对于Bean 工厂来说,是如何保证需要创建代理的对象创建代理的呢。 从图中可以看到,本质…...
Java 从查询超时到性能提升 (实战讲解)
目录 1. 问题所示2. 原理分析3. 解决方法3.1 代码优化3.2 索引优化3.3 删数据 1. 问题所示 查询返回速度慢,导致前端页面无数据显示 前端和后端均未报错,但后端未能在合理时间内返回结果到前端 后端没有报错日志 2. 原理分析 单独分析代码中的对算法…...
《C 语言携手 PaddlePaddle C++ API:开启深度学习开发新征程》
在深度学习领域,PaddlePaddle 作为一款强大的深度学习框架,为开发者提供了丰富的功能和高效的计算能力。而 C 语言,凭借其高效性和广泛的应用场景,与 PaddlePaddle 的 C API 相结合,能够为深度学习开发带来独特的优势。…...
Mysql之存储过程
MySQL 存储过程(Stored Procedure) 1. 概念 存储过程是一组预编译的 SQL 语句集合,可以通过调用名称来执行。存储过程可以接收参数,并支持复杂的业务逻辑(如条件语句、循环、异常处理等)。它们可以提高代…...
XV6 开发环境搭建
Step 1 搭建ubuntu 20.04 虚拟机 注意:一定要使用ubuntu 20.04,该版本可以直接通过deb安装gnu编译工具链。 安装完虚拟机后,换apt源。 ubuntu20.04镜像下载链接 设置root账户密码: sudo passwd root Step 2 下载解压qemu 5.1.0 wget ht…...
Windows 系统下 Python 环境安装
一、引言 Python 作为一种广泛应用的编程语言,在数据分析、人工智能等领域发挥着重要作用。本文将详细介绍在 Windows 系统上安装 Python 环境的步骤。 二、安装前准备 系统要求 Windows 7 及以上版本一般都能支持 Python。硬件方面,通常 2GB 内存、几…...
VMware Workstation的有线连接消失了
进入/var/lib目录下 cd /var/lib 查看是否存在NetworkManager 文件 ls 将其删除,然后虚拟机reboot一下。 sudo rm -r NetworkManager reboot 解决了,可以联网...
73页车企大数据平台规划与数据价值挖掘应用咨询项目方案解读
该项目旨在帮助乘用车公司规划大数据平台并提高数据挖掘应用水平,以满足业务部门对数据的需求,同时保证数据完整性和真实性。数据应用体系现状存在数据孤岛和数据关注维度不统一的问题,导致业务部门无法便捷使用数据并无法进行业务预测。大数…...
MIF格式详解,javascript加载导出 MIF文件示例
MIF 格式详解 MIF(MapInfo Interchange Format)是由Pitney Bowes Software开发的一种文本格式,用于存储地理空间数据。它通常与地图可视化和地理信息系统(GIS)相关联。MIF文件通常成对出现,一个.mif文件用…...
若依实现图片上传时自动添加水印
文章目录 总体思路1. 修改通用上传方法2. 去除文件路径前两级目录3. 添加水印方法运行效果总结 为了解决图盗用,并有效保护图片版权,若依项目需要实现一个功能:上传图片时,自动在图片上添加水印。这不仅可以有效防止盗用ÿ…...
用于日语词汇学习的微信小程序+ssm
日语词汇学习小程序是高校人才培养计划的重要组成部分,是实现人才培养目标、培养学生科研能力与创新思维、检验学生综合素质与实践能力的重要手段与综合性实践教学环节。本学生所在学院多采用半手工管理日语词汇学习小程序的方式,所以有必要开发日语词汇…...
【信息系统项目管理师】高分论文:论信息系统项目的范围管理(融媒体发布系统)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 正文1、规划范围管理2、收集需求3、定义范围4、创建WBS5、确认范围6、控制范围正文 我市xx社区作为智慧社区建设的试点社区,将通过各种创新技术手段,促进小区公共服务智能管理应用,实现社区中的基础设施、环…...
Kaggler日志--Day5
进度24/12/15 昨日复盘 Intermediate Mechine Learning之类型变量 读两篇讲解如何提问的文章,在提问区里发起一次提问 实战:自己从头到尾首先Housing Prices Competition for Kaggle Learn Users并成功提交 Intermediate Mechine Learning之管道&#…...
VScode MAC按任意键关闭终端 想要访问桌面文件
说明 最近配置MAC上CPP的运行环境,在安装必要的CPP插件后,配置launch和task等json文件后,点击运行三角形,每次都会跳出main想要访问桌面上的文件。并且输出也是在调试控制台,非常逆天。 尝试 尝试1:尽管我尝试将ta…...
小粑记故乡的记忆
小粑,是我的故乡一安徽池州一带盛行的小吃。约成人掌心大小,厚度只三、四厘米,故谓之“小”。 小粑,主打取材随性,方便常做常吃。这也许就是它抓住人的味蕾,渐次流行开来,成为当地名小吃的主要原…...
git使用小记
环境(centos为例): yum -y install gitmkdir git_dir && cd git_dirgit clone *** 修改代码: git checkout master 切到主分支git pull 拉取最新代码git branch dev 创建开发分支git checkout dev 切换到开发分支修…...
Python实现办公自动化——自动编写word文档
Python实现办公自动化——自动编写word文档 前言安装python-docxpython-docx使用创建word文档设置纸张方向、大小和页边距统一设置格式插入文本插入表格插入图片 结语 前言 工作中有大量的报告编写需求,在不停地复制粘贴之后,突然想到,这种高…...
番外篇 | BGF-YOLO:引入双层路由注意力、广义特征金字塔网络和第四检测头,提高YOLOv8检测性能
前言:Hello大家好,我是小哥谈。本文提出了一种名为BGF-YOLO的新模型,通过引入双层路由注意力、广义特征金字塔网络和第四检测头,提高YOLOv8在脑肿瘤检测中的性能,采用多层特征融合与动态稀疏注意机制以减少特征冗余。 🌈 目录 🚀1.基础概念 🚀2.网络结构 �…...
Python运维自动化之字典Dict
字典Dict(哈希表) Dict即Dictionary,也称为mapping。 Python中,字典由任意个元素构成的集合,每一个元素称为Item,也称为Entry。这个Item是由(key, value)组成的二元组。 字典是可变的、无序的、key不重复的key-value键值对集合。…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
