引用地址:https://blog.csdn.net/qq_39689605/article/details/123070571
1.搭建jenkins任务
2.编写shell脚本
#!/bin/bash -il
echo "获取容器id"
CID=$(docker ps | grep "app" | awk '{print $1}')
echo "获取容器id结束"
#运行docker容器
function run(){
echo "判断容器id是否存在"
if [ -n "$CID" ]; then
echo "存在容器,CID=$CID,删除docker容器 ..."
docker stop $CID
docker rm $CID
echo "demo容器删除完成"
fi
echo "pull镜像到本地服务"
docker login http://ip:6001 -u admin -p xxx
docker pull ip:6001/xrt/app:202202211330
docker tag ip:6001/xrt/app:202202211330 app;
docker run -d -p 8783:8783 app
echo "成功pull镜像到本地服务并启动"
}
#入口
run
202202211330 为私有镜像库的标签
1.如果无法拉取:
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的访问权限
阿里云在安全组中配置
————————————————
版权声明:本文为CSDN博主「cnsummerLi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39689605/article/details/123070571