当前位置: 首页 > news >正文

08-DevOps-向Harbor上传自定义镜像

harbor创建完成,往harbor镜像仓库中上传自定义的镜像,包括新建项目、docker配置镜像地址、镜像重命名、登录harbor、推送镜像这几个步骤,具体操作如下:

harbor中新建项目

访问级别公开,代表任何人都可以拉取仓库中的镜像,不需要身份验证。

docker配置镜像地址

在前面已经在目标服务器(192.168.1.11)中,自己构建了镜像。现在把自己构建的镜像,上传到harbor镜像仓库中(192.168.1.12)

修改 /etc/docker/daemon.json 文件内容,把harbor镜像仓库地址配置进去。

修改后的文件内容如下:

{
"registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://docker.1panel.live",
    "https://hub.rat.dev",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://kfwkfulq.mirror.aliyuncs.com",
    "https://k8s.m.daocloud.io"
],
"insecure-registries": ["192.168.1.12:85"]

}

"insecure-registries": ["192.168.1.12:85"]是Docker守护进程配置文件daemon.json中的一项配置,用于指定Docker镜像仓库。

刷新配置,重启docker

systemctl daemon-reload

systemctl restart docker

镜像重命名

将目标服务器(192.168.1.11)的镜像,上传到harbor镜像仓库

docker tag 88962e29d829 192.168.1.12:85/public/myproject:1.1

命令解读:

tag:为镜像赋予新名称

88962e29d829:镜像ID

192.168.1.12:85:harbor镜像仓库ip和端口

public:harbor镜像仓库的项目名称(自己创建的)

myproject:1.1:当前镜像名称

命令执行完毕,可以通过docker images 查看到最新命名的镜像(注意镜像ID与原镜像相同,说明是同一个镜像,只是起了一个新的名称,为了满足harbor的要求)

远程登录harbor镜像仓库

上传镜像前,需要先登录到harbor

docker login -u admin -p Harbor12345 192.168.1.12:85

命令解读:

admin:harbor用户名

Harbor12345:harbor密码

192.168.1.12:85:harbor镜像仓库ip和端口

推送镜像

向harbor镜像仓库推送镜像

docker push 192.168.1.12:85/public/myproject:1.1

命令解读:

192.168.1.12:85:harbor镜像仓库ip和端口

public:harbor镜像仓库的项目名称(自己创建的)

192.168.1.12:85/public/myproject:1.1 :镜像名称(通过命令docker images可以查询到)

通过浏览器页面,也可以看到新上传的镜像

到此,向镜像仓库harbor,上传自定义镜像的操作就完成了。

从harbor镜像仓库拉取镜像

如果要从仓库中拉取仓库中的镜像,对应的命令为:

docker pull  镜像名称

例如:

docker pull 192.168.1.12:85/public/myproject:1.1

注意,如要要在服务器上拉取镜像,需要先在/etc/docker/daemon.json文件中配置"insecure-registries": ["192.168.1.12:85"],这样才能让docker知道镜像仓库地址,否则docker无法拉取镜像。

http://www.xdnf.cn/news/37891.html

相关文章:

  • 【数字IC进阶】整数除3和模3的高效实现
  • 网络开发基础(游戏方向)之 概念名词
  • ESP32-S3上跑通红外重复码发送(7)
  • Linux cmp 命令使用详解
  • SQL注入绕过一些过滤的方式
  • 【数据结构】_栈和队列相关面试题
  • Photoshop安装与配置--简单攻略版
  • 数字化转型四步走:企业的进化密码
  • 新手记录--从零开始[labelme安装及使用]
  • springAi---智能客服
  • 微信、抖音、小红书emoji符号大全
  • Step文件无法编辑怎么办?
  • 案例驱动的 IT 团队管理:创新与突破之路:第六章 组织进化:从案例沉淀到管理体系-6.1 案例库建设方法论-6.1.1结构化案例采集模板
  • 220V转5V转12V电机驱动供电WT5105
  • Java Date 类深度解析
  • k8s教程4:Kubernetes中的服务发现与负载均衡
  • 【信息系统项目管理师】高分论文:论信息系统项目的采购管理(CRM实施)
  • 【Arduino项目】电机驱动模块介绍
  • 数据结构实验6.2:稀疏矩阵的基本运算
  • 【信息系统项目管理师】高分论文:论信息系统项目的采购管理(信息化办公系统)
  • 日常开发记录
  • Kubernetes控制平面组件:高可用 APIServer
  • 基于vue框架的点餐系统设计及实现w93q6(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • JDK8 HashMap的实现原理
  • 【教程】DVWA靶场渗透
  • 使用Service对外发布集群中的应用程序
  • 树莓派超全系列教程文档--(34)树莓派配置GPIO
  • 实战交易策略 篇十六:猎豹阿杜打板交易策略
  • 【生态与未来】立足原生仓颉:Cangjie Magic 的生态位与未来发展潜力分析
  • vue2技术练习-开发了一个宠物相关的前端静态商城网站-宠物商城网站