向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
相关推荐
神梦流5 小时前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
MonkeyKing_sunyuhua6 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
.小墨迹6 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_6 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
醇氧6 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
Sheffield6 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑7 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴7 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
承渊政道7 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家7 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker