群晖DS218+部署Harbor(1.10.3)

简介: 家里的群晖用来装上GitLab,可以保存代码,也可以执行GitLab CI

欢迎访问我的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内存,内存充足才是敢折腾的底气:
    在这里插入图片描述

    前文链接

    之前折腾群晖的记录:
  4. 群晖DS218+部署mysql
  5. 群晖DS218+部署kafka
  6. 群晖DS218+做maven私服(nexus3)
  7. K8S使用群晖DS218+的NFS

    思路

    其实操作很简单:harbor的部署是基于docker-compose的,群晖已带有docker-compose了,按照官方的部署指南操作即可,以下几处是要注意的地方:
  8. 部署脚本中需要管理员权限,所以不在网页上操作了,而是SSH登录后台进行操作;
  9. 自己在家使用,就不用https了,直接用http即可;

    环境信息

  10. 群晖系统:DSM 6.2.2-24922 Update 4
  11. harbor:1.10.3

    允许SSH登录

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

    部署harbor

  16. 执行以下脚本,创建必要目录并且下载和解压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
    
  17. 打开文件~/harbor-1.10.3/harbor/harbor.yml,有以下几处需要修改;

  18. 修改hostname,如果有域名就用域名,否则改成IP地址:
    在这里插入图片描述
  19. 选一个没有占用的端口作为http端口,这里我用的是5888
    在这里插入图片描述
  20. 如果不打算使用https,就要注释所有https的配置:
    在这里插入图片描述
  21. 修改存储数据的位置,注意/var/services/homes/zq2599是当前账号的home目录:
    在这里插入图片描述
  22. 修改日志存储路径,这个文件夹之前就创建好了:
    在这里插入图片描述
  23. 修改配置完毕,保存;
  24. 执行准备命令:
    cd ~/harbor-1.10.3/harbor \
    && sudo ./prepare
    
  25. 开始安装:
    cd ~/harbor-1.10.3/harbor \
    && sudo ./install.sh
    
  26. 操作成功的控制台输出如下:
    在这里插入图片描述

    浏览器登录harbor

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

    使用harbor

  29. 接下来的操作是从另一台Linux电脑(下面称之为A电脑)远程推送镜像到harbor机器;
  30. 如果要从A电脑连接harbor服务器,那么要对A电脑做设置,我这里A电脑是Linux操作系统;
  31. 编辑A电脑的/etc/docker/daemon.json文件(如果不存在就新建),增加下图红框中的内容,192.168.50.43是harbor服务器的IP地址,5888是前面配置的http端口:
    在这里插入图片描述
  32. 重启docker服务使配置生效:
    systemctl daemon-reload \
    && systemctl restart docker
    
  33. 再次提醒:这里修改是远程连接Harbor服务的机器的配置,而不是Harbor服务器的配置;
  34. 在A电脑上,有个nginx镜像,id是2622e6cca7eb,如下图所示:
    在这里插入图片描述
  35. 按照dockr镜像仓库规则给镜像打tag:

    docker tag 2622e6cca7eb 192.168.50.43:5888/library/nginx:latest
    
  36. 现在是同一个ID的镜像,但是有两个tag:
    在这里插入图片描述

  37. 登录harbor:

    docker login 192.168.50.43:5888 -u admin -p Harbor12345
    
  38. 推送镜像到harbor:

    docker push 192.168.50.43:5888/library/nginx:latest
    
  39. 操作成功:
    在这里插入图片描述

  40. 推送成功后,在浏览器页面可见此镜像:
    在这里插入图片描述
  41. 新建仓库的操作如下所示:
    在这里插入图片描述
  42. 创建成功:
    在这里插入图片描述

    卸载harbor

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

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

欢迎关注阿里云开发者社区:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

相关文章
|
关系型数据库 MySQL 项目管理
YYDS,只用几条命令轻松搭建自己的项目管理平台jira
使用Docker快速搭建Jira的指南:首先确保已安装Docker,然后拉取`cptactionhank/atlassian-jira-software:8.1.0`和MySQL镜像。运行Jira和MySQL容器,分别绑定端口并创建jira数据库。访问Jira服务进行设置,包括选择语言、自定义设置、连接数据库、基础配置、设置密钥及管理员信息。通过Docker,便捷地部署和管理Jira,提升团队项目管理效率。
|
存储 固态存储 搜索推荐
固态硬盘分区详细指南
本文讨论了固态硬盘(SSD)的分区管理,指出分区与否取决于用户需求。固态硬盘因其高速度和耐用性而普及,但如何正确使用和管理是用户关注的问题。文章介绍了4K对齐的重要性,并提供了使用Win10/Win11系统自带磁盘管理器及第三方工具DiskGenius进行分区的步骤。此外,还解答了关于固态硬盘分区的常见疑问,如分区合并、C盘大小建议、品牌选择及寿命等。
|
Docker Python 容器
查看docker search之后的所有镜像分支版本
查看docker search之后的所有镜像分支版本
4874 0
查看docker search之后的所有镜像分支版本
|
9月前
|
存储 JavaScript 文件存储
FlatNas:打造你的专属浏览器仪表盘,一个集优雅与实用于一身的开源导航页
FlatNas 是一个轻量级、高度可定制的个人导航页与仪表盘系统。它基于 Vue 3 和 Express 构建,旨在为 NAS 用户、极客和开发者提供一个优雅的浏览器起始页
1205 109
FlatNas:打造你的专属浏览器仪表盘,一个集优雅与实用于一身的开源导航页
|
JavaScript
【node错误】/usr/bin/env: node: No such file or directory
背景 安装了node后,执行npm run xxx的命令的时候,报错,提示如下: /usr/bin/env: node: No such file or directory   步骤 1.
7035 0
|
11月前
|
JavaScript 前端开发 安全
Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
每日激励:“如果没有天赋,那就一直重复”。我是蒋星熠Jaxonic,一名执着于代码宇宙的星际旅人。用Vue 3与TypeScript构建高效、可维护的前端系统,分享Composition API、状态管理、性能优化等实战经验,助力技术进阶。
1357 1
Vue 3 + TypeScript 现代前端开发最佳实践(2025版指南)
|
JSON 监控 API
抖音视频详情API秘籍!轻松获取视频详情数据
抖音视频详情API是抖音开放平台的核心接口,通过视频ID可获取包括标题、播放量、点赞数、评论等50多个字段,适用于内容分析、竞品监控和广告评估等场景。接口支持HTTP GET请求,返回JSON格式数据,便于解析处理。文中还提供了使用Python调用该接口的示例代码,包含请求发送、认证、响应处理等功能,帮助开发者快速获取视频数据。
3355 5
|
存储 安全 Java
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险
1163 1
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
|
存储 网络安全 数据安全/隐私保护
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理