当前位置:网站首页>开源一夏 |【云原生】DevOps(五):集成Harbor
开源一夏 |【云原生】DevOps(五):集成Harbor
2022-08-02 17:43:00 【InfoQ】

前言:一、Harbor介绍
二、 Harbor安装
- 下载Harbor安装包:https://github.com/goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.3.4.tgz
- 拖拽到Linux并解压:
tar -zxvf harbor-offline-installer-v2.3.4.tgz -C /usr/local/
- 修改Harbor配置文件:
- 首先复制一份harbor.yml配置
cp harbor.yml.tmpl harbor.yml
- 编辑harbor.yml配置文件
- 启动Harbor
./install.sh
- 登录Harbor
- 首页信息
三、 Harbor使用方式
1. 添加用户构建项目
- 创建用户
- 构建项目(设置为私有)
- 给项目追加用户
- 切换测试用户
2. 发布镜像到Harbor
- 修改镜像名称
- 名称要求:harbor地址/项目名/镜像名:版本
- 修改daemon.json,支持Docker仓库,并重启Docker
- 设置登录仓库信息
docker login -u 用户名 -p 密码 Harbor地址
- 推送镜像到Harbor
- |

3. 从Harbor拉取镜像ls
{
"registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.11.11:80"]
}

4. Jenkins容器使用宿主机Docker
- 设置宿主机docker.sock权限:
sudo chown root:root /var/run/docker.sock
sudo chmod o+rw /var/run/docker.sock
- 添加数据卷
version: "3.1"
services:
jenkins:
image: jenkins/jenkins
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
volumes:
- ./data/:/var/jenkins_home/
- /usr/bin/docker:/usr/bin/docker
- /var/run/docker.sock:/var/run/docker.sock
- /etc/docker/daemon.json:/etc/docker/daemon.json
5. 添加构建操作
6. 编写部署脚本
- 编写脚本文件,添加到目标服务器
harbor_url=$1
harbor_project_name=$2
project_name=$3
tag=$4
port=$5
imageName=$harbor_url/$harbor_project_name/$project_name:$tag
containerId=`docker ps -a | grep ${project_name} | awk '{print $1}'`
if [ "$containerId" != "" ] ; then
docker stop $containerId
docker rm $containerId
echo "Delete Container Success"
fi
imageId=`docker images | grep ${project_name} | awk '{print $3}'`
if [ "$imageId" != "" ] ; then
docker rmi -f $imageId
echo "Delete Image Success"
fi
docker login -u DevOps -p [email protected] $harbor_url
docker pull $imageName
docker run -d -p $port:$port --name $project_name $imageName
echo "Start Container Success"
echo $project_name
chmod a+x deploy.sh
7. 配置构建后操作
边栏推荐
猜你喜欢
随机推荐
mysql四种隔离级别
织梦自定义表单添加全选和全不选功能按钮
动力电池扩产潮,宁德时代遭围剿
灵动微电子发布低功耗 MM32L0130 系列 MCU 产品
本地MSE播放fragment mp4服务
每日优鲜倒了,叮咚买菜的春天在哪?
C#里如何简单的校验时间格式
载20(S)-人参皂苷/细胞穿膜肽-单克隆抗体-载丝裂霉素白蛋白纳米微球的制备
Gear 月度更新|6 月
H.265视频流媒体播放器EasyPlayer.js集成时报错“SourceBuffer ”如何解决?
全面认识二极管,一篇文章就够了
Wechat Gymnasium Appointment Mini Program Graduation Design Finished Work (5) Task Book
H5网页播放器EasyPlayer.js播放器界面的加载效果无法消失是什么原因?
如何生成随机数+原理详细分析
Playing in the cloud | The key technology of Tianyi cloud object storage ZOS high availability is revealed
Wechat Gymnasium Appointment Mini Program Graduation Design Finished Works Mini Program Graduation Design Finished Work (6) Question Opening Reply PPT
How a "cloud" can bring about new changes in the industry
谁抢走了华大基因的生意?
golang 计算器实现
golang源码分析(3):thrift









