-
群晖DS218+部署Harbor(1.10.3)
欢迎访问我的GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
起因是懒
最近在家折腾docker,需要一个私有镜像仓库harbor,通常做法是打开电脑,启动harbor,用完再关闭电脑,总觉得这些操作挺麻烦(您想骂我懒么?您骂得对.....)
群晖解决烦恼
- 家里有台群晖DS218+,从不关机,为全家提供稳定的图片和视频服务,之前已在上面部署了maven私服、MySQL,运行得很稳定,今天就把harbor也部署在上面吧,今后可以随时想用就用,算得上懒人救星了。
-
下图是DS218+刚买来的样子,两块NAS硬盘,一直在稳定服务:
-
下图是网购的内存条,现在一共2+8=10G内存,内存充足才是敢折腾的底气:
前文链接
之前折腾群晖的记录:
- 群晖DS218+部署mysql
- 群晖DS218+部署kafka
- 群晖DS218+做maven私服(nexus3)
- K8S使用群晖DS218+的NFS
思路
其实操作很简单:harbor的部署是基于docker-compose的,群晖已带有docker-compose了,按照官方的部署指南操作即可,以下几处是要注意的地方:
- 部署脚本中需要管理员权限,所以不在网页上操作了,而是SSH登录后台进行操作;
- 自己在家使用,就不用https了,直接用http即可;
环境信息
- 群晖系统:DSM 6.2.2-24922 Update 4
- harbor:1.10.3
允许SSH登录
先要设置允许SSH后台登录:
-
如下图红框的操作:
-
如下图,勾选启用SSH功能,端口就用22:
-
现在用SSH终端即可登录群晖了,我这里是在windows电脑上用Xshell6登录的,您可以选用任意SSH终端工具,账号密码就是能登录群晖的账号密码,如下图,登录后,就可以使用日常的linux命令了:
- 注意上图的红框,登录账号的home目录是/var/services/homes/zq2599
部署harbor
- 执行以下脚本,创建必要目录并且下载和解压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
- 打开文件~/harbor-1.10.3/harbor/harbor.yml,有以下几处需要修改;
-
修改hostname,如果有域名就用域名,否则改成IP地址:
-
选一个没有占用的端口作为http端口,这里我用的是5888
-
如果不打算使用https,就要注释所有https的配置:
-
修改存储数据的位置,注意/var/services/homes/zq2599是当前账号的home目录:
-
修改日志存储路径,这个文件夹之前就创建好了:
- 修改配置完毕,保存;
- 执行准备命令:
cd ~/harbor-1.10.3/harbor \
&& sudo ./prepare
- 开始安装:
cd ~/harbor-1.10.3/harbor \
&& sudo ./install.sh
-
操作成功的控制台输出如下:
浏览器登录harbor
-
打开浏览器,访问地址http://192.168.50.43:5888 ,账号admin,密码Harbor12345
-
登录成功如下图,群晖空间还是很充裕的:
使用harbor
- 接下来的操作是从另一台Linux电脑(下面称之为A电脑)远程推送镜像到harbor机器;
- 如果要从A电脑连接harbor服务器,那么要对A电脑做设置,我这里A电脑是Linux操作系统;
-
编辑A电脑的/etc/docker/daemon.json文件(如果不存在就新建),增加下图红框中的内容,192.168.50.43是harbor服务器的IP地址,5888是前面配置的http端口:
- 重启docker服务使配置生效:
systemctl daemon-reload \
&& systemctl restart docker
- 再次提醒:这里修改是远程连接Harbor服务的机器的配置,而不是Harbor服务器的配置;
-
在A电脑上,有个nginx镜像,id是2622e6cca7eb,如下图所示:
- 按照dockr镜像仓库规则给镜像打tag:
docker tag 2622e6cca7eb 192.168.50.43:5888/library/nginx:latest
-
现在是同一个ID的镜像,但是有两个tag:
- 登录harbor:
docker login 192.168.50.43:5888 -u admin -p Harbor12345
- 推送镜像到harbor:
docker push 192.168.50.43:5888/library/nginx:latest
-
操作成功:
-
推送成功后,在浏览器页面可见此镜像:
-
新建仓库的操作如下所示:
-
创建成功:
卸载harbor
- 如果您不需要harbor了,执行以下命令即可:
cd ~/harbor-1.10.3/harbor \
&& sudo docker-compose down
- 再删除整个~/harbor-1.10.3目录即可,注意所有数据都会清除掉;
至此,群晖DS218+部署和验证harbor的操作就完成了,希望能带给您一些参考;
来源:https://www.cnblogs.com/bolingcavalry/p/14157932.html
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比