docker-jenkins将远程镜像仓库的镜像拉取并启动

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 为私有镜像库的标签

docker-jenkins将远程镜像仓库的镜像拉取并启动_第1张图片

 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的访问权限

                阿里云在安全组中配置

你可能感兴趣的:(jenkins,docker,容器)