docker-jenkins将打包的镜像推送到镜像仓库
生活随笔
收集整理的這篇文章主要介紹了
docker-jenkins将打包的镜像推送到镜像仓库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.準備好環境和遠程鏡像倉庫
2.編寫shell腳本
#!/bin/bash -il #操作/項目路徑(Dockerfile存放的路勁) BASE_PATH=/var/jenkins_home/workspace/xrt#源jar路徑SOURCE_PATH=/var/jenkins_home/workspace/xrt/target #容器id CID=$(docker ps | grep "app" | awk '{print $1}')DATE=`date +%Y%m%d%H%M`#構建docker鏡像function build(){echo "開始構建鏡像..."cd $BASE_PATHdocker build -t app . }#運行docker容器function run(){backuptransferbuildif [ -n "$CID" ]; thenecho "存在demo容器,CID=$CID,重啟docker容器 ..."docker stop $CIDdocker rm $CID docker run -d -p 8783:8783 appecho "demo容器重啟完成"elseecho "不存在demo容器,docker run創建容器..."docker run --name app -d -p 8783:8783 app echo "demo容器創建完成"fidelnoneecho "push鏡像到docker鏡像倉庫"docker login http://ip:6001 -u admin -p xxxdocker tag app ip:6001/xrt/app:$DATEdocker push ip:6001/xrt/app:$DATEecho "成功push鏡像到docker鏡像倉庫"}#刪除none鏡像function delnone(){docker rmi $(docker images -f "dangling=true" -q)echo "清除none鏡像" }#入口 run3.推送成功后在harbor查看
如果無法推送:
? ? ? ? 1.1 jenkins主機上的docker配置:insecure-registries ip:harbor的ip 端口為harbor的端口
vi /etc/docker/daemon.json { "registry-mirrors": ["https://wb2g6zxl.mirror.aliyuncs.com"], "insecure-registries":["192.168.43.64:5000"] }????????1.2?然后手動輸入如下命令登陸harbor進行測試:
docker login http://192.168.43.64:5000 # 輸入賬號密碼 # 第一次登陸成功后,會把賬號信息存儲到文件中/root/.docker/config.json,下次再登陸的時候就不用輸入賬號和密碼了? ? ? ?
????????1.3如果可以登錄成功則可以再Jenkins再次構建
? ? ? ? 1.4如果無法成功,查看harbor是否開始Jenkins服務器ip的訪問權限
? ? ? ? ? ? ? ? 阿里云在安全組中配置
總結
以上是生活随笔為你收集整理的docker-jenkins将打包的镜像推送到镜像仓库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Ardunio开发实例-VL53L0X飞
- 下一篇: 银河麒麟下载链接