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

向 Harbor 中上传镜像通常分为以下几个步骤:

1、登录 Harbor

2、构建镜像

3、标记镜像

4、推送镜像到 Harbor 仓库

1、登录 Harbor

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

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

xshell 复制代码
docker login <your-harbor-domain>

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

xshell 复制代码
docker login harbor.mycompany.com

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

2. 构建镜像

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

xshell 复制代码
docker build -t <image-name>:<tag> <path-to-Dockerfile>

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

xshell 复制代码
docker build -t myapp:latest .

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

3、 标记镜像

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

xshell 复制代码
docker tag <image-name>:<tag> <your-harbor-domain>/<project-name>/<image-name>:<tag>

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

xshell 复制代码
docker tag myapp:latest harbor.mycompany.com/myproject/myapp:latest

4、推送镜像到 Harbor

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

xshell 复制代码
docker push <your-harbor-domain>/<project-name>/<image-name>:<tag>

例如:

xshell 复制代码
docker push harbor.mycompany.com/myproject/myapp:latest

完整示例

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

xshell 复制代码
# 登录 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 拉取刚才上传的镜像来验证.

xshell 复制代码
docker pull harbor.mycompany.com/myproject/myapp:latest
相关推荐
2301_777998348 小时前
Linux:文件系统
linux
Tian_Hang8 小时前
Linux基础知识(五)
linux·运维·服务器
凡人叶枫9 小时前
Effective C++ 条款32:确定你的 public 继承塑模出 is-a(是一种)关系
java·linux·开发语言·c++·嵌入式开发
utf8mb4安全女神9 小时前
expect工具,expect脚本,实现全自动免交互登录ssh,shell脚本和expect结合使用,在多台服务器上创建1个用户【linux】
linux·运维·服务器
暮云星影9 小时前
全志开发环境搭建及编译构建
linux·arm开发·驱动开发
vortex59 小时前
Alpine Linux 运行架构解析:从内核到容器的精简之道
linux·运维·架构
三块可乐两块冰9 小时前
rag学习5
linux·前端·python
::呵呵哒::9 小时前
在macOS/Linux上优雅管理多个JDK版本:环境变量与别名配置指南
java·linux·macos
vortex59 小时前
Witr:系统进程溯源与行为分析工具
linux·运维·服务器
何中应9 小时前
Grafana面板没有数据问题排查
linux·grafana·prometheus