首页 > 系统相关 >Linux运维笔记[14]-搭建内网docker镜像服务

Linux运维笔记[14]-搭建内网docker镜像服务

时间:2024-02-02 17:24:21浏览次数:31  
标签:5000 cn 运维 Pushed hub registry docker 内网 14

摘要

使用docker-registry搭建内网镜像服务,平替DockerHub.

原理简介

docker-registry简介

[https://juejin.cn/post/7214037206863495205]
官方提供了Docker Hub网站来作为一个公开的集中仓库,然而,本地访问Docker Hub速度往往很慢,并且很多时候我们需要一个本地的私有仓库只供网内使用.
Docker仓库实际上提供两方面的功能,一个是镜像管理,一个是认证。前者主要由docker-registry项目来实现,通过http服务来上传下载;后者可以通过docker-index(闭源)项目或者利用现成认证方案(如nginx)实现http请求管理。
docker registry 就是管理 docker 镜像的服务, Docker 公司维护的 registry 就是 hub.docker.com ,它可以让我们方便的下载预先做好的镜像。

  • docker registry本身非常轻量,具有核心功能:镜像服务器.

docker harbor简介

[https://juejin.cn/post/7214037206863872037]
harbor是一个由vm公司开源的企业级容器镜像仓库,有以下功能

  • 管理用户界面
  • 基于角色的访问控制
  • LDAP/AD 集成及日志审计等基本运维操作

harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是 Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓 库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum 可以提供存储chart数据的仓库。

  • harbor体量较大,需要配置大约8个容器以docker-compose或者k8s等方式才能运行.

实现

搭建docker-registry服务

[https://hub.docker.com/r/joxit/docker-registry-ui]
[https://distribution.github.io/distribution/]

docker pull registry:2.8.3
sudo mkdir -p /lvm-group3/docker_registry
sudo chmod 777 /lvm-group3/docker_registry
sudo docker run --name docker_registry -p 5000:5000 --restart always -v /lvm-group3/docker_registry:/var/lib/registry -d registry:2.8.3

配置本地环境

允许http服务器(默认是只能https).

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "http://hub.docker.qsbye.cn"
  ],
  "insecure-registries": ["hub.docker.qsbye.cn:5000"]
}
macOS的docker配置内网服务器

重启docker生效
然后配置域名映射:

sudo su
echo "192.168.100.187 hub.docker.qsbye.cn" >> /etc/hosts

测试上传

function docker-upload-rm() {
    TEMP_NAME="$1"
    echo "TEMP_NAME: $TEMP_NAME"
    docker tag "$TEMP_NAME" hub.docker.qsbye.cn:5000/"$TEMP_NAME"
    docker push hub.docker.qsbye.cn:5000/"$TEMP_NAME"
    docker rmi hub.docker.qsbye.cn:5000/"$TEMP_NAME"
    docker rmi "$TEMP_NAME"
}
# 使用函数
docker-upload-rm "chinawrj/bouffalolab_build_bunch:latest"

查看上传的镜像:

curl http://192.168.100.187:5000/v2/_catalog
# 或者
curl http://hub.docker.qsbye.cn:5000/v2/_catalog

效果

TEMP_NAME: chinawrj/bouffalolab_build_bunch:latest
The push refers to repository [hub.docker.qsbye.cn:5000/chinawrj/bouffalolab_build_bunch]
fc019661d1d0: Pushed 
9d9a6e290f10: Pushed 
9fc4f5d4114a: Pushed 
8c2c8a364a43: Pushed 
702f0068b2ae: Pushed 
f42740652446: Pushed 
66677a60058a: Pushed 
9a3fc559cb2e: Pushed 
02473afd360b: Pushed 
dbf2c0f42a39: Pushed 
9f32931c9d28: Pushed 
latest: digest: sha256:2fb1bd9adea61493cf18b0bcc903e98ee0edf69374f5cce5e99bfa787ced7742 size: 2634
Untagged: hub.docker.qsbye.cn:5000/chinawrj/bouffalolab_build_bunch:latest
Untagged: hub.docker.qsbye.cn:5000/chinawrj/bouffalolab_build_bunch@sha256:2fb1bd9adea61493cf18b0bcc903e98ee0edf69374f5cce5e99bfa787ced7742
Untagged: chinawrj/bouffalolab_build_bunch:latest
Untagged: chinawrj/bouffalolab_build_bunch@sha256:2fb1bd9adea61493cf18b0bcc903e98ee0edf69374f5cce5e99bfa787ced7742

标签:5000,cn,运维,Pushed,hub,registry,docker,内网,14
From: https://www.cnblogs.com/qsbye/p/18003515

相关文章

  • 拓扑、监控、展示、流量、资产一体化管理,重庆石柱中医院部署智和信通统一运维平台
    县中医院创建于1983年,是集医疗、教学、科研、急救、康复为一体的国家“二级甲等”综合性中医院,其智慧医院建设总体目标是以患者为中心,电子病历为核心,基于医院信息平台,实现全院资源的统一调度与管理,为患者、临床、管理者提供全面的信息支撑服务,进一步改善患者就医体验、提升工作效......
  • 四端口 10/100/1000BASE-T PHY,VSC8564XKS-11、VSC8564XKS-14、VSC8584XKS-14、VSC8584
    一、VSC8564 四端口10/100/1000BASE-TPHY,带同步以太网、Intellisec™和QSGMII/SGMIIMAC说明VSC8564采用IntelliSec的四端口GBEPHY非常适合保护云网络应用,例如电子商务、数据库、协作、智能电网、视频和企业或政府通信。此外,VSC8564可以添加到符合FIPS140-2标准的产品设计......
  • 【VMware Workstation】传输 (VMDB)错误 -14: Pipe connection has been broken。
    传输(VMDB)错误-14:Pipeconnectionhasbeenbroken。涉及环境cmd>systeminfoOS名称:MicrosoftWindows10专业版OS版本:10.0.19045暂缺Build19045运行winver版本22H2(提作系统内部版本19045.3930)产品:VMware®Workstation17Pro......
  • openfrp内网穿透-喂饭级教程-免费
    背景我在做微信公众号开发时候,需要做接口配置,这里的url必须是有域名的,那我如何让这个域名能访问到我的本地应用呢?答案是:做内网穿透那有什么工具能让我这么操作呢还免费呢?答案是:openfrp(https://www.openfrp.net/)那有什么工具能让我这么操作不免费但操作简单呢?答案是:花生壳(h......
  • 洛谷题单指南-暴力枚举-P1149 [NOIP2008 提高组] 火柴棒等式
    原题链接:https://www.luogu.com.cn/problem/P1149题意解读:计算符合A+B=C时,火柴棍数量正好等于n,可以采用枚举A、B,然后计算出C,根据A、B、C计算出所有火柴棍数量,再加上4根加号、等号的,如果与n相等,即为一种合法等式。解题思路:题目的关键在于枚举A、B时,最大值的设定,不能超时。分析......
  • 安装MySQL出现由于找不到vcruntime140_1.dll,无法继续执行代码的提示
    问题描述:在安装MySQL服务的时候,执行安装命令提示如下的错误信息。解决方法:通过分析可以知道,是由于缺少了vcruntime140_1.dll动态链接库文件,这是windows缺少vc_redist.x64.exe程序导致的服务安装错误,与我们要安装的MySQL服务并没有关系。(如果您的安装过VS类型的工具,就不会提示该......
  • oracle 报错ORA-12514: TNS:listener does not currently know of service requested
    oracle报错ORA-12514:TNS:listenerdoesnotcurrentlyknowofservicerequestedinconnec 在使用navicat上连接oracle正确用户名和密码,oracle常用服务也启动的情况下依然无法建立连接。但是sqlPus上输入用户名和密码可以连接通过,百思不得其解(菜鸟本质好奇)。这种......
  • 代码随想录算法训练营第四天 |24. 两两交换链表中的节点 | 19.删除链表的倒数第N个节
    142.环形链表II 已解答中等 相关标签相关企业 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,......
  • 为histb系统盒子刷入2ray进行内网穿透
    安装核心我的盒子是CM-101S-2hi3798mv100进入海纳思系统(histb.com)查找关键词即可查看安装脚本使用一键脚本搭建完成后安装面板——新一代Linux客户端安装配置教程|SKY博客(sky350.com)安装控制面板(AwebGUIclientofProjectVwhichsupportsV,S,TandJpro......
  • 文心一言 VS 讯飞星火 VS chatgpt (191)-- 算法导论14.2 1题
    一、用go语言,通过为结点增加指针的方式,试说明如何在扩张的顺序统计树上,支持每一动态集合查询操作MINIMUM、MAXIMUM、SUCCESSOR和PREDECESSOR在最坏时间O(1)内完成。顺序统计树上的其他操作的渐近性能不应受影响。文心一言:为了在扩张的顺序统计树上支持每一动态集合查询操作......