【Harbor】使用手册

一、Harbor使用方式

        Harbor 作为镜像仓库,主要的交互方式就是 将镜像上传到Harbor上,以及从Harbor上下载指定镜像

        在传输镜像前,可以先使用 Harbor 提供的权限管理,将项目设置为私有项目并对不同用户设置不同角色,从而更方便管理镜像

1、添加用户构建项目

  • 创建用户

  • 构建项目(设置为私有)

- 项目名称:private,发布镜像时需要

- 访问级别:公开,表示拉取不受限制

- 存储容量:-1,表示无限制

  • 给项目追加用户

  • 切换测试用户

2、发布镜像到Harbor

Stage 1:修改daemon.json,支持Docker仓库,并重启Docker

  • 添加 "insecure-registries": ["ip:port"]"
{
	"registry-minrors":[
		"https://mirror.ccs.tencentyun.com",
		"http://registry.docker-cn.com",
		"http://docker.mirrors.ustc.edu.cn",
		"http://hub-mirror.c.163.com"
	],
	"insecure-registries":[
		"registry.docker-cn.com",
		"docker.mirrors.ustc.edu.cn",
		"xxx.xxx.xxx.xxx:20100"
	],
	"debug" : true,
	"experimental" : true
}
  • 需要重启,systemctl restart docker,使配置生效
  • 否则推送镜像时报如下错误,http: server gave HTTP response to HTTPS client

Stage 2:修改镜像名称

1. 查看 images

 

2. 名称要求:

[ harbor地址 / 项目名 / 镜像名:版本 ],其中

  • harbor地址:xxx.xxx.xxx.xxx: port
  • 项目名:library
  • 镜像名(自定义):yolov5-pest
  • 版本(自定义):v1.0.0
  • Image ID:镜像id,073b46a8223b

3. 修改镜像名称
docker tag 073b46a8223b 47.104.191.212:20100/library/yolov5-pest:v1.0.0

 

4. 查看修改后的镜像

Stage 3:docker 登录 harbor

#方式一:密码登录
docker login -u admin -p xxxx 47.104.191.212:20100

#方式二:文件方式登录,文件存密码即可
docker login --username=admin --password-stdin < /etc/docker/password.txt 47.104.191.212:20100

Stage 4:推送镜像至harbor

docker push 47.104.191.212:20100/library/yolov5-pest:v1.0.0

3、从Harbor拉取镜像ls

方式一:docker pull 拉取镜像

1. 先配置 /etc/docker/daemon.json 文件
{
	"insecure-registries":[
		"xxx.xxx.xxx.xxx:20100"
	]
}
2. 登录 harbor

参考:Stage 3:docker 登录 harbor

3. 拉取镜像
docker pull 47.104.191.212:20100/library/yolov5-pest:v1.0.0

 

方式二:docker-compose 拉取镜像

1. 先配置 /etc/docker/daemon.json 文件(同上
2. 登录 harbor(同上
3. 拉取镜像
  •     image: 47.104.191.212:20100/library/yolov5-pest:v1.0.0
version: '3.1'

services:
  yolov5:
    image: 47.104.191.212:20100/library/yolov5-pest:v1.0.0
    container_name: yolov5
    restart: always
    volumes:
      - .:/app/
      - /mnt/docker/nginx/html/images/pest:/app/pest
    command: python mqtt.py

networks:
  default:
    external:
      name: xph-network

4、Jenkins容器使用宿主机Docker

5、添加构建操作

6、编写部粤脚本

7、配置构建后操作
 

posted @ 2023-08-17 14:12  随风落木  阅读(107)  评论(0编辑  收藏  举报  来源