群晖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内存,内存充足才是敢折腾的底气:

前文链接
之前折腾群晖的记录:
思路
其实操作很简单: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的操作就完成了,希望能带给您一些参考;
你不孤单,欣宸原创一路相伴
欢迎关注公众号:程序员欣宸
微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos
群晖DS218+部署Harbor(1.10.3)的更多相关文章
- 群晖DS218+部署GitLab
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 群晖DS218+部署mysql
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 群晖DS218+部署kafka
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 群晖DS218+做maven私服(nexus3)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- K8S使用群晖DS218+的NFS
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 群晖下 gitea+drone+harbor实现CI/CD 发布到云服务器
常用命令 sudo -i然后输入密码登录root账户(群晖默认只能使用admin账号登陆) vim xxx编辑(编辑是进去之后按i,退出并保存是按esc,然后:wq!再回车) mkdir xx创建文件 ...
- 群晖-使用docker套件部署Prometheus+Grafana
Docker 部署 Prometheus 说明: 先在群辉管理界面安装好docker套件,修改一下镜像源(更快一点) 所需容器如下 Prometheus Server(普罗米修斯监控主服务器 ) No ...
- Solr 11 - Solr集群模式的部署(基于Solr 4.10.4搭建SolrCloud)
目录 1 SolrCloud结构说明 2 环境的安装 2.1 环境说明 2.2 部署并启动ZooKeeper集群 2.3 部署Solr单机服务 2.4 添加Solr的索引库 3 部署Solr集群服务( ...
- [原创]自动化部署K8S(v1.10.11)集群
标准运维实现自动化部署K8S集群主要分两步,第一步是部署gse-agent,拱第二步执行部署. 第一步:部署gse-agent.如下: 第二步:部署k8s集群.主要通过作业平台分为5小步执 ...
随机推荐
- Word文档数据被误删了怎么办,还能恢复吗
很多时候由于时间紧张或者是思路不想被打断,我们在编辑Word时不能及时的手动保存,一旦遇到电脑意外断电的情况可能就会导致编辑好的Word文档内容丢失.或者是文档编辑好了之后,Word提示是否保存时,误 ...
- CSP.2020
自闭jpg. 就说说 PJ 吧. TG炸的原因主要是因为PJ的炸裂以及T1--所以就直接分析根本原因了. # 参考补题链接 # # 推荐博客链接 # 0x00 考前一天晚上. 在LH巨佬家吃了饭,前往 ...
- 在windows环境下 nginx + .net core 3.1 实现反向代理和负载均衡
一.创建.net core web 应用 1.首先打开vs2019创建好.net core web应用,简单的注入IConfiguration 便于打印端口号展示效果. 1 private reado ...
- CentOS 7防火墙的关闭与开启
(1)CentOS 7.0默认使用的是firewall作为防火墙:若没有启用iptables 作为防火墙,则使用以下方式关闭防火墙: systemctl stop firewalld.service ...
- gsap基础一[from,to,fromTo]
学了几天基础了,感觉总算有点入了一个门的感觉啦,gasp不难,想想一年前我看着官网跟天文一样,今年真的进步很大,在外网发现学习的新世界, 自己的获取知识和查看api源码的能力也增强了许多,现在国内的气 ...
- AndroidStudio中默认不导入org.apache.http等包的解决方法
参考:http://www.cnblogs.com/xiadongqing/p/5942459.html Eclipse ADT中默认引入了org.apache.http包,而AndroidStudi ...
- 我在苦苦坚持的时候,WebStorm已经悄悄的“真香”起来
前言 最近接了一个活儿,是用WebStorm开发一个基于VUE的网站,但是我真的是几乎没接触过VUE相关的项目实践,更别说用WebStorm在实际中的应用,之前只是听朋友说多好用,但是,因为现有工具不 ...
- 第7章 Python类型、类、协议 第7.1节 面向对象程序设计的相关知识
Python被视为一种面向对象的语言,在介绍Python类相关的内容前,本节对面向对象程序设计相关的概念进行简单介绍. 一. 类和对象(实例) 在面向对象的程序设计(OOP)过程中有两个重要概念 ...
- 第4.4节 Python解析与推导:列表解析、字典解析、集合解析
一. 引言 经过前几个章节的介绍,终于把与列表解析的前置内容介绍完了,本节老猿将列表解析.字典解析.集合解析进行统一的介绍. 前面章节老猿好几次说到了要介绍列表解析,但老猿认为涉及知识层面比较多 ...
- PHP代码审计分段讲解(11)
后面的题目相对于之前的题目难度稍微提升了一些,所以对每道题进行单独的分析 27题 <?php if(!$_GET['id']) { header('Location: index.php?id= ...