向harbor中上传镜像(向harbor上传image)

ops/2025/1/19 3:57:13/

向 Harbor 中上传镜像通常分为以下几个步骤:
1、登录 Harbor
2、构建镜像
3、标记镜像
4、推送镜像到 Harbor 仓库

1、登录 Harbor

首先,确保你已经能够访问 Harbor,并且已经注册了账户。如果还没有 Harbor 账户,你需要先注册一个。

使用 docker login 命令登录到 Harbor 仓库:

docker login <your-harbor-domain>

例如,如果你的 Harbor 域名是 harbor.mycompany.com,则命令如下:

docker login harbor.mycompany.com

登录会提示输入用户名密码

2. 构建镜像

构建你需要上传的 Docker 镜像。如果你已经有一个 Dockerfile,可以使用以下命令来构建镜像:

docker build -t <image-name>:<tag> <path-to-Dockerfile>

例如,假设你正在构建一个镜像,并且在本地目录中有一个 Dockerfile,可以执行:

docker build -t myapp:latest .

这会根据当前目录中的 Dockerfile 构建一个名为 myapp 的镜像,标签为 latest。

3、 标记镜像

上传镜像之前,需要将镜像标记为指向 Harbor 仓库的特定路径。假设你要上传到 Harbor 仓库 harbor.mycompany.com 的项目 myproject 中,命令如下:

docker tag <image-name>:<tag> <your-harbor-domain>/<project-name>/<image-name>:<tag>

例如,如果你已经构建了名为 myapp:latest 的镜像,并且你想将其推送到 Harbor 仓库 harbor.mycompany.com 中的 myproject 项目下,你需要先将镜像标记为:

docker tag myapp:latest harbor.mycompany.com/myproject/myapp:latest

4、推送镜像到 Harbor

一旦镜像被标记为目标 Harbor 仓库中的镜像,你就可以使用 docker push 命令将其推送到 Harbor:

docker push <your-harbor-domain>/<project-name>/<image-name>:<tag>

例如:

docker push harbor.mycompany.com/myproject/myapp:latest

完整示例
假设你已经有一个名为 myapp:latest 的镜像,并且你的 Harbor 仓库地址是 harbor.mycompany.com,项目名称是 myproject,那么完整的操作步骤如下:

# 登录 Harbor
docker login harbor.mycompany.com
# 构建镜像
docker build -t myapp:latest .# 标记镜像为 Harbor 仓库的目标路径
docker tag myapp:latest harbor.mycompany.com/myproject/myapp:latest# 推送镜像到 Harbor
docker push harbor.mycompany.com/myproject/myapp:latest

验证上传是否成功
通过命令行:可以使用 docker pull 拉取刚才上传的镜像来验证.

docker pull harbor.mycompany.com/myproject/myapp:latest

http://www.ppmy.cn/ops/151266.html

相关文章

1.6 阅读k8s源码的准备工作

准备工作 找个合适的ide 比如goland 下载k8s源码 项目地址 https://github.com/kubernetes/kubernetes可以git下载&#xff0c;也可以下载zip包&#xff0c;还可以go get 下载 git clone https://github.com/kubernetes/kubernetes.git 本教程基于k8s 1.21 版本 k8s组件代…

Java语言的软件工程

Java语言的软件工程 引言 在当今信息技术飞速发展的时代&#xff0c;软件工程作为一门应用广泛的学科&#xff0c;承担着开发高质量软件系统的重要责任。Java语言以其跨平台特性、安全性和强大的库支持&#xff0c;已经成为软件工程领域中最流行的编程语言之一。本文将深入探…

装饰器模式详解(附代码案例和源码分析)

目录 装饰器模式的本质 装饰器模式和继承结构的对比 源码中IO流的继承结构 具体装饰器类 装饰器的组合应用 装饰器链的特点 代码案例 定义coffee类型 coffee的实现类 装饰器抽象类 装饰器 - 季节限定 装饰器——加牛奶 装饰器——加糖 生成咖啡的简单工厂 咖…

H3CNE-11-生成树协议STP

STP&#xff1a;Spanning Tree Protocol&#xff0c;可以在提高可靠性的同时又能避免环路带来的各种问题。 一句话总结STP的作用&#xff1a;防止交换机环路。 为了提高网络的可靠性&#xff0c;交换网络中通常会使用冗余链路&#xff0c;然而冗余链路会给交换网络带来环路风险…

高通8255 Android STR 启动失败要因分析调查

目录 背景&#xff1a; 调查过程&#xff1a; 步骤1&#xff1a; slog2info | grep vmm_service 步骤2&#xff1a; slog2info | grep qvm 总结&#xff1a; 解决方案 背景&#xff1a; 调试高通8255 STR的STR过程中发现Android和QNX进入STR状态后&#xff0c;脱出STR时…

Bootstrap 下拉菜单

Bootstrap 下拉菜单 Bootstrap 是一个流行的前端框架&#xff0c;它提供了许多预构建的组件&#xff0c;其中之一就是下拉菜单。下拉菜单是一个交互式元素&#xff0c;允许用户从一系列选项中选择一个。在本篇文章中&#xff0c;我们将详细介绍如何在 Bootstrap 中创建和使用下…

Android SystemUI——车载CarSystemUI加载(八)

Android 系统早期的状态栏和导航栏对于手机设备来说那是相当重要的,但是随着手机版本的不断更新,状态栏和导航栏对于手机的重要性在逐渐降低,特别是在快捷手势出现之后,导航栏几乎变得可有可无。但是对于当前如火如荼的车载系统来说,状态栏和导航栏却几乎是必备的,谷歌自…

多包单仓库(monorepo)实现形式

目录 背景 需求和方案 从0开始搭建一个Monorepo项目 创建 配置全局公共样式 配置全局公共组件 方式1:不需要独立发布的组件包,只在当前项目的子项目中使用 方式2:需要独立发布和版本维护的包 子项目的独立构建和部署 总结 Monorepo优势 便于代码维护、管理 支持…