一、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.0container_name: yolov5restart: alwaysvolumes:- .:/app/- /mnt/docker/nginx/html/images/pest:/app/pestcommand: python mqtt.pynetworks:default:external:name: xph-network