群晖DS218+部署Harbor(1.10.3)

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

起因是懒

最近在家折腾docker,需要一个私有镜像仓库harbor,通常做法是打开电脑,启动harbor,用完再关闭电脑,总觉得这些操作挺麻烦(您想骂我懒么?您骂得对…)

群晖解决烦恼

  1. 家里有台群晖DS218+,从不关机,为全家提供稳定的图片和视频服务,之前已在上面部署了maven私服、MySQL,运行得很稳定,今天就把harbor也部署在上面吧,今后可以随时想用就用,算得上懒人救星了。
  2. 下图是DS218+刚买来的样子,两块NAS硬盘,一直在稳定服务:
    在这里插入图片描述
  3. 下图是网购的内存条,现在一共2+8=10G内存,内存充足才是敢折腾的底气:
    在这里插入图片描述

前文链接

之前折腾群晖的记录:

  1. 群晖DS218+部署mysql
  2. 群晖DS218+部署kafka
  3. 群晖DS218+做maven私服(nexus3)
  4. K8S使用群晖DS218+的NFS

思路

其实操作很简单:harbor的部署是基于docker-compose的,群晖已带有docker-compose了,按照官方的部署指南操作即可,以下几处是要注意的地方:

  1. 部署脚本中需要管理员权限,所以不在网页上操作了,而是SSH登录后台进行操作;
  2. 自己在家使用,就不用https了,直接用http即可;

环境信息

  1. 群晖系统:DSM 6.2.2-24922 Update 4
  2. harbor:1.10.3

允许SSH登录

先要设置允许SSH后台登录:

  1. 如下图红框的操作:
    在这里插入图片描述
  2. 如下图,勾选启用SSH功能,端口就用22:
    在这里插入图片描述
  3. 现在用SSH终端即可登录群晖了,我这里是在windows电脑上用Xshell6登录的,您可以选用任意SSH终端工具,账号密码就是能登录群晖的账号密码,如下图,登录后,就可以使用日常的linux命令了:
    在这里插入图片描述
  4. 注意上图的红框,登录账号的home目录是/var/services/homes/zq2599

部署harbor

  1. 执行以下脚本,创建必要目录并且下载和解压harbor安装包:
mkdir ~/harbor-1.10.3 \
&& mkdir ~/harbor-1.10.3/log \
&& mkdir ~/harbor-1.10.3/data \
&& mkdir ~/harbor-1.10.3/data/secret \
&& cd ~/harbor-1.10.3 \
&& wget https://github.com/goharbor/harbor/releases/download/v1.10.3/harbor-online-installer-v1.10.3.tgz \
&& tar -zxvf harbor-online-installer-v1.10.3.tgz \
&& mkdir -p ~/harbor-1.10.3/harbor/common/config
  1. 打开文件~/harbor-1.10.3/harbor/harbor.yml,有以下几处需要修改;
  2. 修改hostname,如果有域名就用域名,否则改成IP地址:
    在这里插入图片描述
  3. 选一个没有占用的端口作为http端口,这里我用的是5888
    在这里插入图片描述
  4. 如果不打算使用https,就要注释所有https的配置:
    在这里插入图片描述
  5. 修改存储数据的位置,注意/var/services/homes/zq2599是当前账号的home目录:
    在这里插入图片描述
  6. 修改日志存储路径,这个文件夹之前就创建好了:
    在这里插入图片描述
  7. 修改配置完毕,保存;
  8. 执行准备命令:
cd ~/harbor-1.10.3/harbor \
&& sudo ./prepare
  1. 开始安装:
cd ~/harbor-1.10.3/harbor \
&& sudo ./install.sh
  1. 操作成功的控制台输出如下:
    在这里插入图片描述

浏览器登录harbor

  1. 打开浏览器,访问地址http://192.168.50.43:5888 ,账号admin,密码Harbor12345
    在这里插入图片描述
  2. 登录成功如下图,群晖空间还是很充裕的:
    在这里插入图片描述

使用harbor

  1. 接下来的操作是从另一台Linux电脑(下面称之为A电脑)远程推送镜像到harbor机器;
  2. 如果要从A电脑连接harbor服务器,那么要对A电脑做设置,我这里A电脑是Linux操作系统;
  3. 编辑A电脑的/etc/docker/daemon.json文件(如果不存在就新建),增加下图红框中的内容,192.168.50.43是harbor服务器的IP地址,5888是前面配置的http端口:
    在这里插入图片描述
  4. 重启docker服务使配置生效:
systemctl daemon-reload \
&& systemctl restart docker
  1. 再次提醒:这里修改是远程连接Harbor服务的机器的配置,而不是Harbor服务器的配置
  2. 在A电脑上,有个nginx镜像,id是2622e6cca7eb,如下图所示:
    在这里插入图片描述
  3. 按照dockr镜像仓库规则给镜像打tag:
docker tag 2622e6cca7eb 192.168.50.43:5888/library/nginx:latest
  1. 现在是同一个ID的镜像,但是有两个tag:
    在这里插入图片描述
  2. 登录harbor:
docker login 192.168.50.43:5888 -u admin -p Harbor12345
  1. 推送镜像到harbor:
docker push 192.168.50.43:5888/library/nginx:latest
  1. 操作成功:
    在这里插入图片描述
  2. 推送成功后,在浏览器页面可见此镜像:
    在这里插入图片描述
  3. 新建仓库的操作如下所示:
    在这里插入图片描述
  4. 创建成功:
    在这里插入图片描述

卸载harbor

  1. 如果您不需要harbor了,执行以下命令即可:
cd ~/harbor-1.10.3/harbor \
&& sudo docker-compose down
  1. 再删除整个~/harbor-1.10.3目录即可,注意所有数据都会清除掉

至此,群晖DS218+部署和验证harbor的操作就完成了,希望能带给您一些参考;

欢迎关注我的公众号:程序员欣宸

在这里插入图片描述

Jenkins是一个持续集成工具,用于自动化构建、测试和部署软件。Docker是一个开源的容器化平台,可以帮助开发人员打包应用程序和其依赖项成为一个容器。Harbor是一个企业级的Docker镜像注册表,可以帮助组织管理和存储Docker镜像。 在自动化部署流程中,Jenkins可以与DockerHarbor结合使用,实现自动化构建、打包和部署应用程序的流程。具体步骤如下: 首先,开发人员在代码仓库中提交新的代码。Jenkins会定期检测代码仓库的变化,一旦检测到新的代码提交,Jenkins就会触发自动化构建流程。 在构建过程中,Jenkins会使用Docker来创建应用程序的镜像,将应用程序和其依赖项打包成一个可移植的容器。然后,Jenkins会将构建的镜像推送到Harbor中进行存储与管理。 接下来,Jenkins会触发自动化部署流程。在部署过程中,Jenkins会从Harbor中拉取最新的镜像,并将其部署到目标环境中。这可以是测试环境、预发布环境或生产环境,具体取决于组织的部署策略。 在部署完成后,Jenkins可以执行自动化测试流程,验证应用程序在目标环境中的运行情况。如果测试通过,部署流程就会顺利完成。如果测试失败,Jenkins会通知相关人员,并触发回滚流程。 通过整合Jenkins、DockerHarbor,可以实现一个端到端的自动化部署流程,帮助组织提高软件交付的效率和质量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员欣宸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值