1. jenkins 通知服务器去 harbor拉取镜像,之前需要在服务器上确认以下信息。
2. 在部署工程的服务器上编写 shell
harbor_addr=$1
harbor_repo=$2
project=$3
version=$4
container_port=$5
host_port=$6
imageName=$harbor_addr/$harbor_repo/$project:$version
echo $imageName
containerId=`docker ps -a | grep ${project} | awk '{print $1}'`
echo $containerId
if [ '$containerId' != '' ]; then
docker stop $containerId
docker rm $containerId
fi
tag=`docker images | grep ${project} | awk '{print $2}'`
echo $tag
if [[ '$tag' =~ '$version' ]] ; then
docker rmi $imageName
fi
docker login -u admin -p Harbor12345 $harbor_addr
docker pull $imageName
docker run -d -p $host_port:$container_port --name $project $imageName
echo "success"
3.把脚本移动到环境变量里面。
[root@localhost docker]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost docker]# ll
total 34444
-rwxr-xr-x 1 root root 582 Oct 9 16:07 deloy.sh
-rw-r--r-- 1 root root 180 Oct 8 20:28 docker-compose.yml
-rw-r--r-- 1 root root 111 Oct 8 20:28 Dockerfile
-rw-r--r-- 1 root root 17629078 Sep 19 23:38 fenghua-0.0.1-SNAPSHOT.jar
-rw-r--r-- 1 root root 17629103 Oct 8 20:28 fenghua.jar
[root@localhost docker]#
[root@localhost docker]# mv deloy.sh /usr/bin/
4. 回到jenkins,增加两个字符串参数,把容器启动时的端口和宿主机端口设置成参数
4. 增加一个构建后参数。
5.编译之后查看工程 服务器
6.故障排查,开始的时候没有区分port,用浏览器访问,发现无法访问,排查故障,发现tomcat初始化是使用 8080端口
标签:基于,harbor,部署,usr,--,docker,root,port From: https://www.cnblogs.com/fenghua001/p/16772916.html