docker构建发布项目
文件目录
cd /home/test
jar 目录存放执行的jar包
log 目录映射执行的日志文件目录
dockerfile
# 源
FROM openjdk:8
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
COPY jar/test.jar /usr/src/test.jar
CMD java -jar /usr/src/test.jar
# 端口号
EXPOSE 8080
shell脚本
#! /bin/bash
docker stop test-server
echo "服务停止成功"
docker rm test-server
echo "容器删除成功"
text=`docker images|grep test-server`
arr=(${text///})
imageId=${arr[2]}
echo "即将删除的镜像id为"$imageId
docker rmi -f $imageId
echo "镜像删除成功"
cd /home/test
echo '开始编译镜像'
# 获取最新的版本号
built=`docker build -t test-server:v$1 .|grep built`
buildArr=(${built///})
builtId=${buildArr[2]}
echo "镜像编译成功,镜像id为"$builtId
docker run -d --name test-server --restart=always -p 18080:8080 -p 18802:18802 -v /home/test/log:/logs $builtId java -Xms2000m -Xmx2000m -jar /usr/src/test.jar --spring.profiles.active=prod
echo "服务运行成功"
exit 0