当前位置: > 其它学习 > 持续集成 >

持续集成系列(1)------https私有docker仓库harbor搭建

时间:2019-01-22 14:10来源:未知 作者:IT
持续集成系列(1)------https私有docker仓库harbor搭建
 
文章目录
持续集成系列(1)------https私有docker仓库harbor搭建
harbor简介
环境准备
docker安装
Harbor下载
Harbor配置
ssl证书部署
Harbor运行
常用操作
思考
 
## 目标 gitlab+jenkins+docker+harbor+k8s初步实现持续集成
harbor简介
Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker registry服务。
 
 
环境准备
系统:Centos7.4
docker v17.03
ip:10.79.163.40
域名:hub.domain.com
 
docker安装
#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
#添加docker源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#安装docker
yum install -y --setopt=obsoletes=0 \
docker-ce-17.03.1.ce-1.el7.centos \
docker-ce-selinux-17.03.1.ce-1.el7.centos
#切换国内hub
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io
#启动
systemctl enable docker
systemctl start docker
#安装docker-compose
yum install -y docker-compose
 

 
Harbor下载
cd /opt
wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.2.tgz
tar xzvf harbor-offline-installer-v1.5.2.tgz
cd harbor
 

 
Harbor配置
vim harbor.cfg

 
修改如下内容
 
hostname = hub.domain.com
ui_url_protocol = https
customize_crt = off
ssl_cert = /opt/certs/hub.domain.com.cer
ssl_cert_key = /opt/certs/hub.domain.com.key
 

 
参数解释
 
customize_crt:使用自签名证书时设置为on
ssl_cert&ssl_cert_key:ssl证书存放的路径
 

 
ssl证书部署
自动申请免费ssl证书,这里以阿里云dns接口为例,其它认证方式请参考官方文档
 
 
acme脚本安装
 
cd /opt
#下载Let's Encrypt免费证书自动申请脚本
git clone --depth=1 https://github.com/Neilpang/acme.sh.git
cd ./acme.sh/
./acme.sh --install
 

 
阿里云dnskey获取
 
 
#导入获取的key
export Ali_Key="yourkey"
export Ali_Secret="yoursecret"
#申请ssl证书
./acme.sh --issue --dns dns_ali -d hub.domain.com
#部署证书
mkdir /opt/certs
./acme.sh  --installcert  -d  hub.domain.com --key-file  /opt/certs/hub.domain.com.key --fullchain-file /opt/certs/hub.domain.com.cer
 

 
Harbor运行
cd /opt/harbor && ./install.sh

 
更改域名解析指向服务器ip
访问hub.domain.com
 
常用操作
默认使用db认证方式,初始用户密码为admin/Harbor12345
 
 
登陆仓库
docker login hub.domain.com
 
推送镜像
#标记镜像
docker tag SOURCE_IMAGE[:TAG] hub.domain.com/library/IMAGE[:TAG]
#推送镜像到项目
docker push hub.domain.com/library/IMAGE[:TAG]
 

 
从仓库拉取镜像
docker pull hub.domain.com/library/IMAGE[:TAG]

 
配置修改后重启
cd /opt/harbor
vim harbor.cfg
docker-compose down
./prepare.sh
docker-compose up -d
 

 
服务启停
cd /opt/harbor
docker-compose stop
dokcer-compose start
 
思考
harbor高可用集群
 
mysql集群
镜像分布式存储
session保持(多个harbor实例,通过nginx进行负载均衡)



(责任编辑:IT)
------分隔线----------------------------