云原生环境搭建—Docker创建镜像 并推拉Harbor

从零搭建生产级私有Docker镜像仓库:Registry到Harbor实战 容器镜像作为云原生应用交付的核心载体,其安全性和可获取性直接决定发布链路是否稳定。私有镜像仓库通过将镜像存储、分发与公网解耦,有效规避Docker Hub的拉取速率限制,同时为内网环境提供统一分发枢纽。其底层原理基于Docker Registry的内容寻址存储模型,配合认证、TLS加密、存储挂载及垃圾回收机制,构成生产可用的基础设施。在技术价值上,它保障了镜像版本的可信追溯,并通过RBAC、项目隔离等能力支撑多团队协作。典型应用场景包括Kubernetes集群拉取私有镜像、CI/CD流水线构建产物管理、跨机 阅读详情

创建镜像 

2种方式

1、根据Dockerfile 【build】

2、基于运行的容器修改后 【commit】

镜像与容器关联

一、根据Dockerfile创建镜像

1、mkdir dockerfile/lib/centos7base/

创建目录

2、创建Dockerfile

vim Dockerfile

 

二、构建镜像

docker build -t python.

--tag, -t: 镜像的名字及标签

过程解析
我们看一下docker的编译过程

编译的第一步 会复用之前已经存在的python
重点是第二步
b48566f8cf2c其实是在python镜像的基础上生成的一个临时container的id
我们忽略其中的安装过程,跳到最后

 

最后根据临时生成的container来docker commit 生成镜像文件,最后删除临时container(对照博客开始的图示进行理解)
 

三、根据容器构建镜像

 1、拉去一个镜像

docker run -it centos

(run =(pull start exec))

2、查看vim

3、安装一个vim 

yum install vim

 

 4、退出容器

exit

 5、提交容器


现在根据运行的容器生成的镜像还在本地,下面需要提交推送到私服Harbor

 

四、 推送镜像到Harbor

启动Harbor

执行install.sh也可以启动。

可以看到docker-compose.yml可知使用了docker-compose,可以使用后台启动的方式来实现harbor的启动。

 停止容器

docker-compose stop

后台启动容器

docker-compose up -d

登陆到Harbor

docker login  -u 用户名 -p 密码

举例:

docker login --username=cheergoivan registry.cn-hangzhou.aliyuncs.com

可能的报错问题

[root@k8s-master ~]# docker login 192.168.59.128
Username: admin   
Password:
Error response from daemon: Get https://192.168.59.128/v2/: dial tcp 192.168.59.128:443: connect: connection refused
这里说拒绝连接,因为我是用http部署的harbor,这里是https://进行访问的,所有出现报错

然后解决这个问题其实就在/etc/docker/daemon.json文件下

添加对私有仓库的认证就可以登录了

[root@k8s-master ~]# vim /etc/docker/daemon.json

{
        "registry-mirrors": ["http://f1361db2.m.daocloud.io"],
        "insecure-registries": ["192.168.59.128"]
}

重启docker
[root@k8s-master ~]# systemctl restart docker

登录,这里说你已经登陆了问题解决
[root@k8s-master ~]# docker login 192.168.59.128
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

访问http://192.168.59.128/登录Harbor

 

1、打标签

 docker tag dkcentos:latest 192.168.59.128/dukang/dukcentos:latest

2、推送

docker push 192.168.59.128/dukang/dukcentos


到私服Harbor查看上传的镜像是否OK 

注意点 这里可以看到:推送格式

3、删除本地镜像 (本地无用的镜像可以删除)

(保证该镜像对应的容器都stop)

docker rmi .........

无法删除镜像multiple repositories

原因:对于被删除的ImageID,这里存在多个REPOSITORY名字引用。通过镜像名字删除。

参考文章 https://blog.youkuaiyun.com/JackLiu16/article/details/80581709

4、拉取镜像

docker pull 192.168.59.128/dukang/dukcentos:latest

 

总结:

镜像创建

docker build 命令用于使用 Dockerfile 创建镜像。

使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。

docker build -t runoob/ubuntu:v1 . 

docker commit :从容器创建一个新的镜像。

将容器a404c6c174a2 保存为新的镜像mymysql:v1 ,并添加提交人信息和说明信息。
docker commit -a "runoob.com" -m "my apache" a404c6c174a2  mymysql:v1 
  • -a :提交的镜像作者;

  • -c :使用Dockerfile指令来创建镜像;

  • -m :提交时的说明文字;

  • -p :在commit时,将容器暂停。

Harbor相关

1、登录

docker login http://xxxxx.com

2、登录私有hub创建项目

   例如项目叫:abc-dev

2、给镜像打tag

  docker tag 2e25d8496557 xxxxx.com/abc-dev/arc:1334

  2e25d8496557:IMAGE ID,可以用docker images 查看

  xxxxx.com:私有hub域名

  abc-dev:项目名称

  arc:镜像名称

  1334:镜像版本号

4、推送

  docker push xxxxx.com/abc-dev/arc:1334  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

信创内网离线部署CubeStudio:镜像导出、Harbor搭建与出口机代理全流程 在完全物理隔离的信创内网中,Docker镜像无法在线拉取,容器化平台部署面临镜像同步与仓库搭建的核心挑战。其原理是通过出口机作为中转桥梁,将外网镜像导出为离线包,再在内网搭建Harbor私有仓库完成镜像入库。这一方案的技术价值在于打通了隔离网络与容器生态之间的资源通道,使Kubernetes依赖的镜像体系得以在内网闭环运行。典型应用场景包括金融、政务、能源等信创环境的机器学习平台私有化交付。CubeStudio的离线部署正是这一模式的工程实践,需重点解决ARM64架构匹配、Harbor推送失败及镜像校验等问 阅读详情

相关推荐

Harbor离线安装实战:从离线包解压到镜像推拉全流程

在容器化部署中,私有镜像仓库是CI/CD流水线的核心组件。Harbor作为主流开源方案,其离线安装包解决了内网隔离环境无法拉取镜像的痛点。通过预置所有依赖镜像和配置模板,离线安装包实现了无外网依赖的快速部署。这一方案特别适合私有化交付、内网运维及需要本地registry的团队。安装过程涉及docker与compose环境准备、harbor.yml配置、镜像加载及服务验证等关键步骤。掌握离线安装方法,能有效提升内网环境下的镜像管理效率,避免因网络限制导致的部署失败。

weixin_32325225的博客 232

用其他主机docker login登录Harbor仓库报错

做微服务的时候,我准备把编译好的jar包,部署到我的Harbor仓库上,却登录不上去,出现以下报错: [root@k8s-master ~]# docker login 192.168.30.24 Username: admin Password: Error response from daemon: Get https://192.168.30.24/v2/: dial tcp 192....

batanj35857的博客 896

KEIL-MDK代码美化神器:AStyle配置全攻略(附常用参数详解)

本文详细介绍了如何在KEIL-MDK中配置和使用AStyle代码格式化工具,包括基础参数设置、高级格式控制、团队协作方案以及KEIL深度集成技巧。通过合理的AStyle配置,开发者可以显著提升代码风格一致性,优化团队协作效率,特别适合嵌入式开发项目。

weixin_30505225的博客 146

Docker-玩转 Docker 镜像:从拉取、构建到发布

本文系统介绍了Docker镜像的核心概念与操作流程。首先解析了镜像的分层文件系统本质及其只读特性,并与容器进行了对比。随后详细演示了从Docker Hub拉取镜像、管理本地镜像的基本操作,重点介绍了通过docker commit命令快速构建自定义镜像的方法及其局限性。最后讲解了镜像标签管理和推送到私有仓库的流程,并总结常见误区与最佳实践,强调镜像最小化、版本明确化和定期清理的重要性。通过本文,读者将掌握Docker镜像从获取到发布的完整生命周期管理技能。

DreamLife&Yaothos 2883

佳能C3025打印机扫描方法

佳能C3025彩色打印机扫描方法 步骤一、如果打印机处于休眠状态,可按图中标记的按钮唤醒打印机; 然后点击屏幕上的【扫描】 步骤二、扫描类型选择【文件】 步骤三、点击屏幕上的【地址簿】 步骤四、此时屏幕胡看到名字,如果看不到自己的名字,可往下滑动直到看到自己的名字,然后点击自己的名字,再点击右下角的【应用】 步骤五、点击【发送设置】,可看到文件格式为PDF,点击可以选择JPEG的图片格式。...

weixin_46019317的博客 2万+

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解

多目标跟踪(MOT)中的卡尔曼滤波(Kalman filter)和匈牙利(Hungarian)算法详解 1. 概览 在开始具体讨论卡尔曼滤波和匈牙利算法之前,首先我们来看一下基于检测的目标跟踪算法的大致流程。 2. 卡尔曼滤波(Kalman filter) 目标跟踪中使用的就是最基础的 Kalman filter 算法。这里也仅仅讨论最基础的 Kalman filter 算法。 卡尔曼滤波算法的过程很简单,如下图所示。最核心的两个步骤就是预测和更新(下图的 correct)。 在目标跟踪任务中,目标的

生命在于折腾! 2万+

docker 拉取镜像拉取超时的解决方法

设置国内镜像源,复制下面的命令执行。

redmond88的博客 7865

华为HCIA-Datacom实战:200人企业园区网从规划到部署全流程解析

本文详细解析了华为HCIA-Datacom认证实战中200人企业园区网的规划与部署全流程。从需求分析、组网架构设计到设备选型、VLAN划分及安全策略实施,全面覆盖园区网建设的关键环节,特别针对部门隔离、无线覆盖和基础安全防护等典型场景提供可落地的解决方案。

f0g1h2的博客 710

云原生之docker详解

云原生,docker

qq_43649937的博客 8148

影刀RPA验证码识别避坑指南:官方指令、Python ddddocr与第三方图鉴怎么选?

本文深度对比了影刀RPA验证码识别的三种方案:官方AI指令、Python ddddocr开源库和第三方图鉴服务。从识别率、成本、维护性等维度分析各方案优劣,提供实战选型建议和优化技巧,帮助技术决策者在自动化流程中高效解决验证码识别难题。

weixin_30790841的博客 469

ROCm rocr-libhsakmt分析系列1-2:多GPU跨卡VRAM访问机制分析

本文基于ROCr-Runtime的libhsakmt库源码,深入分析了多GPU系统中跨设备内存访问的实现机制。主要内容包括: 实现流程概述:通过P2P拓扑发现、统一虚拟地址空间、页表映射和硬件转发四个步骤,实现零拷贝的跨GPU内存访问。

图形/计算GPU的驱动与虚拟化技术分享园地 2498

云原生-DevOps-环境搭建

环境:Gitee,Jenkins,Java,Git,Maven,SonarQube,Docker,阿里云镜像仓库,K8sSonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来。

LK1024zzZ的博客 2719

rk3576 适配以太网(百兆)

百兆以太网,也常被称为快速以太网,是一种在1990年代中期推出的计算机网络技术标准。它相当于把当时主流的10兆以太网速度提升了10倍,最高能提供 100 Mbps 的传输速率,让文件共享、视频传输等网络应用变得流畅许多。它在数据链路层面完全保留了传统以太网的帧格式和MAC机制,这意味着现有的网络软件可以无缝对接,用户从10兆网络升级到百兆网络时,通常只需要更换网卡和集线器/交换机即可,非常方便。 在rk3576平台上,原生以太网接口支持百兆、千兆,还有pcie转换的2.5G。

weixin_35723192的博客 203

Docker镜像构建与Harbor私有仓库推拉全流程实战

在云原生与容器化交付日益普及的今天,镜像作为应用运行时的完整快照,其构建、存储与分发的可靠性直接决定应用交付的质量与效率。Docker作为最主流的容器引擎,提供了从源码到镜像的标准化构建能力;而要让镜像在团队内部安全流转,私有镜像仓库Harbor则承担起制品管理与权限控制的核心角色。理解镜像分层与多阶段构建的原理,掌握Harbor的项目隔离、机器人账号及HTTPS安全配置,是落地容器化交付的关键基础。无论是本地开发环境还是生产集群,通过docker login、push与pull的闭环操作,都能确保镜像内容

weixin_29913663的博客 122

一文读懂 CST 时/频域求解器

本文系统介绍了CST Studio Suite中的关键网格技术——六面体网格、四面体网格以及TLM求解器专用的八叉树非均匀网格技术。重点阐述了六面体网格的三项核心技术:理想边界拟合(PBA)技术可精确处理曲面边界,薄片技术(TST)能高效模拟薄层结构,自适应八叉树网格实现计算资源最优分配。同时详细对比了六面体网格与四面体网格的特点及适用场景,前者适用于系统级EMC/EMI分析等时域问题,后者擅长处理复杂曲面和异质材料的频域问题。

一只豌豆象的博客 461

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

云原生之Docker镜像仓库

Docker镜像仓库是Docker镜像文件集中存储和管理的系统,我们发布的镜像文件可以很方便地push进镜像仓库,而容器集群任何节点都可以很方便地pull镜像仓库里的镜像文件下来进行部署。如果你的系统环境很小很简单,使用Docker registry就足够了,不然则使用Harbor吧。

鬓戈 1370

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Docker 企业级私有仓库 Harbor 完整部署实战

本文深入探讨容器镜像仓库的两种主流方案:自建Harbor私有仓库与云厂商托管仓库。详细解析Harbor的分布式架构(包含Nginx、CoreService、RegistryV2等核心组件),提供从Docker环境准备到Harbor离线部署的完整实操指南,重点说明HTTPS加密配置、镜像推拉流程及WebUI管理。同时对比阿里云ACR等云托管方案,分析其开箱即用优势。文章涵盖CentOS7和银河麒麟V10系统的适配方案,给出生产环境配置建议,帮助读者根据内网私有化或云上分发等不同场景选择最优方案,实现高效安全

2302_80380397的博客 1000

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【完整搭建流程-万字解析】Docker环境下Harbor镜像仓库与Prometheus+Grafana监控体系建设

摘要 本文详细记录了在企业级容器化环境中搭建私有Harbor镜像仓库(v2.14.2)并集成Prometheus监控体系的完整实践。方案基于rocky系统实现HTTPS加密、开机自启等生产级配置,通过Docker Compose统一编排Harbor及监控组件(Prometheus+Grafana+cAdvisor+node-exporter)。重点包括:1)Harbor证书配置与安全部署;2)私有镜像推送全流程;3)监控体系搭建与Harbor业务指标采集;4)客户端证书信任配置。该方案解决了公有仓库的网络

2503_90172382的博客 428

深入讲解一下 Harbor 的源码

Harbor 是一个设计精良的云原生应用,它的源码结构清晰,组件解耦。理解其微服务架构是阅读源码的第一步。从Core和这几个关键 Go 项目的源码入手,结合API 定义和关键工作流程,你就能很快掌握 Harbor 的核心实现。

u011091936的博客 1306

从零搭建Harbor私有镜像仓库:HTTPS证书与离线安装避坑指南

在云原生环境中,容器镜像是工作负载运行的核心资产,而镜像仓库则承担着安全分发与集中管理的关键角色。私有仓库的选型往往决定着团队协作效率与供应链安全性,Harbor凭借项目隔离、RBAC权限控制、镜像复制及漏洞扫描等能力,成为众多团队自建仓库的首选。搭建过程中的HTTPS证书配置、离线包安装、Docker与Kubernetes客户端信任机制,是极易踩坑的环节。本文从容器镜像分发的底层原理出发,梳理自建Harbor的完整路径,重点解析自签CA证书的生成与SAN配置、harbor.yml核心参数、离线安装避坑方法

weixin_29758911的博客 208

Docker本地私有仓库搭建配置指导

安装完docker后会生成一个docker0的网卡和br-x开头的网桥,从外部访问容器内部时只需要访问宿主机的地址和对应的容器映射的地址,访问的数据包到宿主机上后经过ip包解析后通过目的port和iptables的规则会将数据包由eth0网卡转发至网桥上的docker0上进行下一步路由。所以如果容器的宿主机上的ip_forward未打开,那么该宿主机上的容器则不能被其他宿主机访问;注:不要在已有业务的生产环境主机搭建,因为过程需要重启docker,这对生产来说是不允许的。

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 4053

DevOps全链路实战 | 第 1 天:从零搭建 Harbor 私有镜像仓库

本文介绍了在DevOps全链路实战中搭建Harbor私有镜像仓库的首日内容。Harbor作为企业级开源镜像管理平台,具备安全扫描、权限控制、镜像复制等核心功能。文章详细阐述了环境准备、Docker与Docker Compose v2安装、Harbor部署(含在线安装与手动配置)、关键配置项解析及启动验证流程,并强调首次登录后需修改管理员密码,为后续CI/CD与GitOps实践奠定基础。

人走茶良的博客 147

Harbor高可用集群部署方案(基于Kubernetes的生产环境实践)

解决企业级Docker镜像管理难题,提供Harbor高可用集群部署方案。基于Kubernetes实现Docker镜像仓库搭建(Harbor),支持生产环境下的容灾备份、横向扩展与安全管控,提升镜像分发效率与系统稳定性,值得收藏。

FastCompile的博客 744

Harbor 私有镜像仓库从部署到推拉避坑指南

容器化交付离不开镜像仓库,而私有仓库承载的不仅是存储,更是权限模型、安全扫描与团队协作的基础。Docker 镜像的推拉看似简单,背后却涉及仓库域名规划、HTTPS 证书信任、认证授权、存储配额与层复用机制等关键技术点。当微服务规模扩大或离线交付场景出现时,选择 Harbor 作为私有镜像仓库,可以为企业提供更完整的权限细粒度控制和漏洞扫描能力。掌握镜像命名规范、docker login 的自动化写法、以及大规模镜像推送时的超时与证书问题排查,是落地容器化 CI/CD 链路的必备技能。本文从实际工程角度梳理了

weixin_33178839的博客 207
上一篇: 基于Win10环境搭建—VMware安装CentOS7的问题汇总(会不断更新)
下一篇: Java8设计模式最佳实战-设计模式概述(第一天学习记录)
Coder_Boy_
博客等级 码龄10年 2804粉丝 819原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值