提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

在前面文章中使用docker安装软件,例如:MySQL、Nacos等,都是从官方的镜像仓库中拉取镜像后,然后创建并启动MySQL容器、Nacos容器等,后来又使用 docker 来制作自己的镜像,若是制作自己镜像后,也想像官方制作的MySQL镜像一样,供给别人使用,并且作为镜像的拥有者,还能对镜像进行更新迭代,别人随时想使用,直接拉取镜像,运行成容器即可。之前教程中是将微服务的每个模块制作成一个个的镜像文件,然后通过docker 运行成容器就能完成项目的部署。如果,将微服务镜像保存在某个镜像仓库中,那么,想要在多台机器上部署,只需要从镜像仓库中拉取镜像后,运行容器即可,那么我们就需要用到这么一个工具Harbor镜像仓库。


提示:以下是本篇文章正文内容,下面案例可供参考

一、Harbor是什么?

Harbor 是一个开源的企业级容器镜像仓库,旨在提供镜像管理和分发的功能。它扩展了 Docker Registry,添加了企业级功能,如用户管理、权限控制、镜像扫描和镜像复制等。Harbor 可以用于存储和管理 Docker 镜像,支持多种认证机制,帮助企业在大规模的容器环境中实现安全、高效的镜像管理。

二、安装Harbor

安装 Harbor 之前,确保虚拟机(服务器)能正常联网,并且已经成功安装上了docker 和 docker-compose 工具

docker --version
docker-compose --version
systemctl status docker

在这里插入图片描述

(一)Harbor安装包下载

Harbor 官方地址:

https://github.com/goharbor/harbor/releases

下载离线安装包
在这里插入图片描述

(二)上传安装包并解压

在服务器上的/opt目录下新建一个install 安装包文件目录,用于存放我们所有安装文件。
解压Harbor安装包

tar -xzf harbor-offline-installer-v2.10.3.tgz

tar: tar 是一个用于处理归档文件的命令行工具,通常用于创建、查看和解压缩 .tar 文件及其变体。

-x: 这个选项告诉 tar 解压归档文件。x 代表 “extract”(提取)。

-z: 这个选项指示 tar 使用 gzip 进行解压缩。z 代表 “gzip”。

-f: 这个选项后面需要跟一个文件名,表示 tar 操作的文件。f 代表 “file”(文件)。

harbor-offline-installer-v2.10.3.tgz: 这是要解压的文件名。.tgz 是 .tar.gz 的缩写,表示这个文件是一个经过 gzip 压缩的 tar 归档文件。

(三)移动安装包

mkdir /opt/harbor
mv /opt/install/harbor* /opt/harbor

(四)修改Harbor配置文件

mv harbor.yml.tmpl harbor.yml
vim harbor.yml

修改配置文件中的主机地址以及端口号

hosename:172.16.3.172       虚拟机地址
port:85                     端口号

(五)安装Harbor

./prepare
./install.sh

(六)启动Harbor

这三个命令一定是得在安装Harbor文件目录下执行,就是执行以下命令时,当前文件下有Harbor的docker-compose.yml文件

docker-compose up -d 启动
docker-compose stop 停止
docker-compose restart 重新启动

(七)访问Harbor

ip地址:端口
默认用户名和密码
admin
Harbor12345

在这里插入图片描述
成功登录Harbor后,点击用户头像可以修改密码
在这里插入图片描述

三、镜像推送仓库

(一)新建项目

项目名称 hm
在这里插入图片描述

(二)新建一个用户

用户名 zhangsan 密码:Harbor12345
在这里插入图片描述

(三)为项目授权

点进 hm 项目中,添加zhangsan 用户 并且角色为开发人员
在这里插入图片描述

角色 权限说明
访客 对于指定项目拥有只读权限
开发人员 对于指定项目拥有读写权限
维护人员 对于指定项目拥有读写权限,创建 Webhooks
项目管理员 除了读写权限,同时拥有用户管理/镜像扫描等管理权限

(四)为镜像打标签

docker tag cart-service:latest 172.16.3.172:85/hm/cart-service:v1

(五)登录Harbor仓库

docker login -uzhangsan -pHarbor12345 172.16.3.172:85

(六)上传镜像

docker push 172.16.3.172:85/hm/cart-service:v1

在这里插入图片描述

(七)下载镜像

如果是在另外机器上从代码仓库下载镜像,那么需要docker登录Harbor后使用docker pull命令下载,为了方便我就直接在,172.16.2.144机器上下载了。将刚才打标签的镜像删除,从Harbor仓库拉取镜像

docker pull 172.16.3.172:85/hm/cart-service:v1

总结

以上就是将镜像推送镜像仓库Harbor的基本流程。记得打给镜像打标签时候需要加上镜像仓库的ip地址以及端口号,否者推送不了镜像仓库,再拉取镜像时,要携带镜像ip地址和端口以及名称还有标签。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐