Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CentOS部署Harbor

CentOS部署Harbor

原创
作者头像
程序员欣宸
修改于 2020-06-15 02:46:53
修改于 2020-06-15 02:46:53
69900
代码可运行
举报
文章被收录于专栏:实战docker实战docker
运行总次数:0
代码可运行

环境信息

  1. 操作系统:CentOS Linux release 7.8.2003
  2. docker:19.03.11
  3. docker-compose:1.26.0
  4. harbor:1.10.3

准备工作

假设当前您的CentOS系统是全新安装,以下所有操作都是用root账号进行的;

  • 更新:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum update -y
  • 关闭防火墙
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl stop firewalld;systemctl disable firewalld;setenforce 0
  • 关闭SELINUX,修改文件/etc/selinux/config,将SELINUX的值改成disabled,修改后如下图红框所示:
  • 重启操作系统,重启后重新SSH登录;

更新yum源

为了能顺利安装应用,建议更新yum源;

  • 先安装wget:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum -y install wget
  • 备份当前源:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  • 下载国内源:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 清理并重建yum缓存:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum clean all && yum makecache
  • 再次更新:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum -y update

安装docker

  • 新建用户组docker:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
groupadd docker
  • 当前账号加入docker群组:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gpasswd -a root docker
  • 安装docker:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://get.docker.com | sh
  • 安装完成后,启动docker,并设置为开机自启动:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl start docker && systemctl enable docker
  • 查看是否启动成功,如果能看到Server相关的信息,表明启动成功:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@centos7 ~]# docker version
Client: Docker Engine - Community
 Version:           19.03.11
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        42e35e61f3
 Built:             Mon Jun  1 09:13:48 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.11
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       42e35e61f3
  Built:            Mon Jun  1 09:12:26 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

安装docker镜像加速器

推荐安装docker镜像加速器,方法有多种,如果您有阿里云的注册账号可以参考以下操作:

  • 创建目录:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir -p /etc/docker
  • 添加镜像加速配置,请将下面的xxxxxxx改成阿里云给您配置的镜像地址:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}
EOF
  • 重启服务:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl daemon-reload \
&& systemctl restart docker

安装docker-compose

  • 安装依赖工具:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum -y install tree python-devel gcc epel-release python-pip

注意:上述操作如果遇到安装失败,请分开重试;

  • 升级pip:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install --upgrade pip
  • 安装docker-compose:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install docker-compose
  • 安装完毕后,查看docker-compose版本信息:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@centos7 ~]# docker-compose version
docker-compose version 1.26.0, build unknown
docker-py version: 4.2.1
CPython version: 2.7.5
OpenSSL version: OpenSSL 1.0.2k-fips  26 Jan 2017

安装harbor

  • 下载harbar的在线安装包,并解压:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
  • 得到harbor目录,内容如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@centos7 ~]# tree harbor
harbor
├── common.sh
├── harbor.yml
├── install.sh
├── LICENSE
└── prepare
  • 打开配置文件harbor.yml,接下来开始修改配置;
  • hostname配置成本机的域名,如果没有域名就配置成IP:
  • 如果需要修改http端口就修改下图红框位置:
  • 如果不需要https,一定要将相关配置注释掉(否则会导致无法启动),如下图红框所示:
  • 如果要修改https设置,就修改下图红框位置:
  • 如果要修改管理员账号的初始密码,就修改下图红框位置:
  • 在harbor目录下执行./prepare,控制条输出如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@centos7 harbor]# clear
[root@centos7 harbor]# ./prepare 
prepare base dir is set to /root/harbor
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /secret/keys/secretkey
Generated certificate, key file: /secret/core/private_key.pem, cert file: /secret/registry/root.crt
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir
  • 在harbor目录下执行./install.sh,控制台输出如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
...
...
Digest: sha256:7903f39d47db4182f424539ec36294c407e7ac1e2e39fa095609a296e180b9e0
Status: Downloaded newer image for goharbor/harbor-registryctl:v1.10.3
Creating harbor-log ... done
Creating harbor-db     ... done
Creating registry      ... done
Creating redis         ... done
Creating harbor-portal ... done
Creating registryctl   ... done
Creating harbor-core   ... done
Creating harbor-jobservice ... done
Creating nginx             ... done
✔ ----Harbor has been installed and started successfully.----
  • 启动成功,浏览器访问服务器地址可见登录页面:
  • 账号是admin,密码Harbor12345,登录成功如下图:

至此,harbor部署成功,接下来验证一下是否可用;

验证

  • 接下来验证harbor是否可用,验证方式是从另一台Linux电脑(下面称之为A电脑)远程推送镜像到harbor机器;
  • harbor默认是不允许http连接的,需要修改设置来支持http连接,以便后续操作;
  • 如果要从A电脑连接harbor服务器,那么要对A电脑做设置,这里A电脑是Linux操作系统;
  • 编辑A电脑的/etc/docker/daemon.json文件(如果不存在就新建),增加以下内容,192.168.133.174是harbor服务器的IP地址:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "insecure-registries":["192.168.133.174"]
}
  • 重启使配置生效:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
systemctl daemon-reload  && systemctl restart docker

再次提醒:这里修改是远程连接Harbor服务的机器的配置,而不是Harbor服务器的配置;

验证推送镜像

  • 在A电脑上,有个tomcat镜像,id是2eb5a120304e,如下所示:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@centos7 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              2eb5a120304e        3 days ago          647MB
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker tag 2eb5a120304e 192.168.133.174/library/tomcat:latest
  • 打好tag的效果如下:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@centos7 ~]# docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
192.168.133.174/library/tomcat   latest              2eb5a120304e        3 days ago          647MB
tomcat                           latest              2eb5a120304e        3 days ago          647MB
  • 登录harbor:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker login 192.168.133.174 -u admin -p Harbor12345
  • 推送此镜像到harbor:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker push 192.168.133.174/library/tomcat:latest
  • 因为是局域网,推送速度相对较快:
  • 去harbor网页,可见最新上传的镜像:

至此,harbor-1.10的部署和验证就完成了,如果您也在部署harbor,希望本文能给您一些参考;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Harbor 2.2.0 搭建与使用​
Harbor 本地安装支持在线和离线,另外也可以部署到 Kubernetes 中。这里采用本地在线安装方式。
叨叨软件测试
2021/06/16
1.3K0
Harbor 2.2.0 搭建与使用​
三万字无坑搭建基于Docker+K8S+GitLab/SVN+Jenkins+Harbor持续集成交付环境!!
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2020/12/24
6.1K2
三万字无坑搭建基于Docker+K8S+GitLab/SVN+Jenkins+Harbor持续集成交付环境!!
Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台(持续集成部署Hexo博客Demo)
如果你讨厌一个人,你实际讨厌的是你自己的某些部分。我们自身没有的东西,是不会干扰到我们的。仁者见仁,智者见智。——德尔曼 黑塞《德米安》
山河已无恙
2023/03/02
2.5K0
不背锅运维:云原生下的CICD-3件套快速搭建合集:jenkins+harbor+gitlab
Harbor官方网站:http://vmware.github.io/harbor/ Harbor
不背锅运维
2022/12/20
3340
不背锅运维:云原生下的CICD-3件套快速搭建合集:jenkins+harbor+gitlab
Harbor仓库搭建
harbor是一个开源镜像仓库,是存储管理私有化docker镜像的工具,这里记录下部署过程以及使用方法
summerking
2022/09/16
4960
Harbor仓库搭建
Harbor v2.3.2安装启动报错解决:Creating network “harbor_harbor“ with th..
说明docker网关是关闭的,docker network无法对新的container进行网络配置,重启一下docker就行。
非著名运维
2022/06/22
7300
Harbor v2.3.2安装启动报错解决:Creating network “harbor_harbor“ with th..
搭建 Harbor v2.2.0 docker私库
上文已经把harbor下载好,接下来需要修改配置文件,我便自己填写了一个yml的配置文件,发现报错了,如下:
嘻哈记
2021/03/23
1.6K0
搭建 Harbor v2.2.0 docker私库
DockerHub访问慢怎么破?自建个企业级镜像仓库试试!
Harbor是一款开源的Docker镜像仓库服务,在Github上目前有13.4k+Star。提供了基于角色的镜像访问机制,可以保护你的镜像安全。
macrozheng
2020/12/21
1.3K0
DockerHub访问慢怎么破?自建个企业级镜像仓库试试!
搭建高可用的Harbor
Docker容器应用的开发和运行离不开可靠的镜像管理,Docker官方提供了原生的Registry,但其功能比较简单,而且没有可视化界面,自然无法满足企业级的需求。虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。
端碗吹水
2020/09/23
4K0
搭建高可用的Harbor
手把手带你部署Docker私有镜像仓库Harbor v2.3.2
 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
非著名运维
2022/06/22
1.4K0
手把手带你部署Docker私有镜像仓库Harbor v2.3.2
Harbor镜像仓库(含clair镜像扫描) - 完整部署记录
Harbor环境部署的要求:系统版本在Centos7.5以上、内核版本在4.4X以上、ip_forward路由转发功能要打开。
洗尽了浮华
2020/11/24
1.9K0
Harbor镜像仓库(含clair镜像扫描) - 完整部署记录
Harbor 2.0 快速部署经验分享
作者简介:杜秋,云计算运维工程师,目前主要从事Kubernetes技术栈的CI/CD运维,多年一线运维工作,参与平台搭建、平台迁移、企业从自建IDC到上云、自动化建设等运维核心项目。
Henry Zhang
2020/06/19
3.7K0
Harbor 2.0 快速部署经验分享
持续集成Harbor+Helm
helm3移除了tiller这个组件,默认通过~/.kube/config与集群进行交互,也就是说使用了与kubctl相同的上下文访问权限,若不在默认位置可通过–kubeconfig参数进行指定,按照官方安装文档安装即可直接使用
ruochen
2021/11/26
1.3K0
最新版 Harbor 在ubuntu系统上安装
The latest version of Harbor is installed on the ubuntu system
小陈运维
2021/10/13
5450
私有镜像仓库Harbor
Docker守护进程将.crt文件解释为CA证书,将.cert文件解释为客户端证书。 所以需要将服务器转换yourdomain.com.crt为yourdomain.com.cert
仙人技术
2020/04/28
4K0
HarborV2.2.2安装
下载harbor安装包https://github.com/goharbor/harbor/releases/
全栈程序员站长
2021/06/10
7310
HarborV2.2.2安装
05 . k8s实战之部署PHP/JAVA网站
https://www.cnblogs.com/you-men/p/13121835.html
iginkgo18
2020/09/27
1.3K0
05 . k8s实战之部署PHP/JAVA网站
Harbor仓库部署
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能
行 者
2023/10/20
3230
基于 Distribution / Harbor 部署 Docker 私有镜像仓库
Docker 在 2015 年推出了 Distribution 项目,即 Docker Registry 2。相比于 Old Registry,Registry 2 使用 Go 实现,在安全性、性能方面均有大幅改进。Registry 设计了全新的 Rest API,并且在 Image 存储格式等方面不再兼容于 Old Registry。如果你要与Registry2 交互,你的 Docker 版本至少要是 Docker 1.6。
iMike
2019/06/02
2.9K0
使用 Harbor 搭建私有 Docker 仓库
本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)
soulteary
2020/05/23
1.1K0
使用 Harbor 搭建私有 Docker 仓库
相关推荐
Harbor 2.2.0 搭建与使用​
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档