当前位置:网站首页>Open Source Summer | [Cloud Native] DevOps (5): Integrating Harbor
Open Source Summer | [Cloud Native] DevOps (5): Integrating Harbor
2022-08-02 20:32: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. 配置构建后操作
边栏推荐
- Taking advantage of cloud-network integration, e-Surfing Cloud has paved the way for digital transformation for government and enterprises
- 全面认识二极管,一篇文章就够了
- Smart Microelectronics Releases Low-Power MM32L0130 Series MCU Products
- 打补丁的日子,比写代码的日子难熬多了
- php弱类型-攻防世界lottery
- 暴跌99.7%后,谁还在买卖「二舅币」?
- Simulink脚本自动创建Autosar Parameter Port及Mapping
- 「全球数字经济大会」登陆 N 世界,融云提供通信云服务支持
- 【21天学习挑战赛学习打卡】顺序查找
- 基于HDF的LED驱动程序开发(1)
猜你喜欢

故障分析 | 一条 SELECT 语句跑崩了 MySQL ,怎么回事?

Wechat Gymnasium Appointment Mini Program Graduation Design Finished Work (5) Task Book

Taking advantage of cloud-network integration, e-Surfing Cloud has paved the way for digital transformation for government and enterprises

Gear 月度更新|6 月

罗敏背后是抖音

php弱类型-攻防世界lottery

Simulink脚本自动创建Autosar Parameter Port及Mapping

MySQL基本操作和基于MySQL基本操作的综合实例项目

0725-面试记录

有关代购系统搭建的那点事
随机推荐
2022安全员-C证考试题库模拟考试平台操作
54.【system系统互动函数大总结】
NeRF: The Secret of 3D Reconstruction Technology in the Popular Scientific Research Circle
2022最新版SSM源码分析:一套教程助你深入理解底层原理,提高核心竞争力!
golang刷leetcode滑动窗口(9) 颜色分类
MySQL索引
脉脉上的相亲生意
9月起中国给予多哥等16国98%税目产品零关税待遇
IDEA相关配置(特别完整)看完此篇就将所有的IDEA的相关配置都配置好了、设置鼠标滚轮修改字体大小、设置鼠标悬浮提示、设置主题、设置窗体及菜单的字体及字体大小、设置编辑区主题、通过插件更换主题
创新云集技术咖,工赋汇聚实战派:2022工赋开发者峰会
一文搞懂│php 中的 DI 依赖注入
docker安装Oracle之后常用的一些命令
字节面试官狂问我:你没有高并发、性能调优经验,为什么录取你?
潮玩的“第二春”,在哪?
How Tencent architects explained: The principle of Redis high-performance communication (essential version)
记一次 .NET 某工控自动化控制系统 卡死分析
Gear 月度更新|6 月
天翼云4.0来了!千城万池,无所不至!
宝塔搭建实测-基于ThinkPHP5.1的wms进销存源码
解决多版本jar包冲突问题