搭建harbor仓库
概述
反正就是想搭建一个docker仓库,方便存放自己的镜像这样子
harbor介绍
harbor是一个开源的docker容器仓库,由下面几个组件组成
- proxy:用来接收docker客户端和浏览器端的请求,并且把请求转发给后端的服务
- registry:就是仓库,用来存储镜像的,
- 核心服务:提供web ui,数据库,token认证,webhook等功能
- 日志服务
- database:用来存储核心服务的一些数据
总之就上上面这个图这样子的架构
因为是vmware出品的,所以支持下面几种部署方式
- 在线安装
- 离线安装
- ova安装,这个直接在vcenter上导入就可以了
官方最小配置
- 2个cpu
- 4g内存
- 40g硬盘,因为是存储镜像的所以推荐硬盘大点
安装前配置
为了方便我是直接离线安装的,使用的系统是centos7
下载
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz
在真正安装之前,我们还要安装下面这几个组件
- docker
- docker-compose
- python27
- openssl
首先安装docker
curl -fsSL get.docker.com -o get-docker.sh
chmod +x get-docker.sh
./get-docker.sh
systemctl start docker
之后安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
默认python27是安装在centos上的,openssl在安装前面东西的时候也会默认安装好的
[root@bboysoul ~]# rpm -qa |grep openssl openssl-libs-1.0.2k-12.el7.x86_64 openssl-1.0.2k-12.el7.x86_64
安装
首先解压离线安装包
tar -xvf harbor-offline-installer-v1.5.1.tgz
之后配置harbor.cfg这个文件,要知道的是有的参数是可选的,就是不用配置的,有的参数是必选的,必选参数有的是有默认值的
下面是必选参数
- hostname
- ui_url_protocol
- db_password
- max_job_workers
- customize_crt
- ssl_cert
- ssl_cert_key
- secretkey_path
- log_rotate_count
- log_rotate_size
其余的都是可选的
我是推荐在本地搭建一个dns的服务器的,因为这样就可以设置一个域名,每次都访问ip太麻烦了,尤其是在上传镜像的时候每次都要想ip是什么
之后直接执行
./install.sh
就可以安装成功了
之后如果你想修改某一个配置比如你要把域名修改一下,我是这么做的先修改上面harbor.cfg这个文件,之后重新执行install.sh这个文件就可以了
还有修改一些端口只要修改docker-compose文件里面的端口就好了,挂载文件的路径也是一样的
安装完成之后访问你配置的域名,然后使用默认的账号:admin,密码:Harbor12345登录验证
本地配置仓库地址
首先在harbor上新建一个project,名字开行就好,之后本地配置docker的配置文件在下面这个文件加入
vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"], "insecure-registries": ["harbor.bboysoul.com"] }
接着重启服务
systemctl restart docker
登录仓库
root@bboysoul:/home/bboysoul/temp/harbor# docker login harbor.bboysoul.com Username: admin Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
给镜像打tag
docker tag ubuntu:16.04 harbor.bboysoul.com/bboysoul/ubuntu:16.04
上传镜像
docker push harbor.bboysoul.com/bboysoul/ubuntu:16.04
下载镜像
首先删除本地的
docker rmi harbor.bboysoul.com/bboysoul/ubuntu:16.04
docker rmi -f ubuntu:16.04
之后pull harbor服务器上的
docker pull harbor.bboysoul.com/bboysoul/ubuntu:16.04
pull一次仓库上镜像的pulls就会加一次,可以在web界面上看的
修改harbor端口
怎么去做这个修改端口呢,首先修改docker-compose.yml中nginx的端口映射,可以修改成别的端口,之后我们使用nginx去根据域名做端口转发就可以了,不需要做其他很复杂的配置
配置邮件重置密码
安装好之后管理员登录,在系统管理->配置管理->邮箱里面有配置的地方,在配置里面可以测试邮件,我的配置如下,使用的是qq企业邮箱
- 邮件服务器: smtp.exmail.qq.com
- 邮件服务器端口: 465
- 用户名: bboysoul@bboysoul.com
- 密码: 我的密码你是不可能知道的
- 邮件来源: bboysoul@bboysoul.com 这个一定要和用户名一样
- 邮件 SSL: 打钩
- 验证证书: 打钩
欢迎关注Bboysoul的博客www.bboysoul.com
Have Fun
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
通过API访问公有云Kubernete集群
当前很多用户有对接kubernetes集群的需求,但是对于如何进行集群管理及调用kubernetes原始API还不太熟悉,本文旨在介绍如何在用户环境调试及集成kubernetes相关功能。 集群管理功能 集群管理功能比如获取集群证书,添加节点到集群等功能遵循阿里云openAPI调动的方式,分为两种调用方式: 1、 通过SDK调用(建议使用) SDK地址:https://develop.aliyun.com/tools/sdk?spm=a2c4g.11186623.2.3.8k5rdm 可以在此地址中选择需要的SDK类型。 2、 通过代码实现签名机制调用 如果不通过SDK调用集群管理功能,则需要实现签名机制,方法请见公有云文档:签名机制及相关章节。 Kubernetes原生API调用 方式一:通过token来
- 下一篇
HyperLedger Fabric 1.2 kafka生产环境部署(11.1)
11.1 Kafka模式简介 上一章介绍的Solo模式只存在一个排序(orderer)服务,是一种中心化结构,一旦排序(orderer)服务出现了问题,整个区块链网络将会崩溃,为了能在正式环境中稳定运行,需要对排序(orderer)服务采用集群方式,Hyperledger Fabric采用kafka方式实现排序(orderer)服务的集群,kafka模块被认为是半中心化结构。 顺便提一下,去中心化的BFT(拜占庭容错)排序(orderer)服务集群方式目前还在开发,还没有规定发布时间,将在1.x周期内发布,可以关注跟踪FAB-33的更新。11.2 Kafka网络拓扑 Kafka模式通过Kafka集群和zookeeper集群保证数据的一致性,实现排序功能,网络拓扑图如下: 图:网络拓扑 Kafka模式由排序(orderer)服务、kafka集群和zookeeper集群组成。每个排序(orderer)服务相互之间不通信,只与kafka集群通信,kafka集群与zookeeper相互连接。 Fabric网络中的各节点(Peer)收到客户端发送的交易请求时,把交易信息发...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装