持续集成系列(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) |