编写Dockerfile
需要将打包好的jar 放到 Dockerfile 同级目录下
# 环境 FROM mcr.microsoft.com/java/jdk:8u192-zulu-alpine # 作者信息 LABEL magicdu "[email protected]" # 复制JDK环境 #COPY jdk1.8.0_201 jdk1.8.0_201 # 配置环境变量 #ENV JAVA_HOME=./jdk1.8.0_201 #ENV PATH=$JAVA_HOME/bin:$PATH #ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 配置时区 ENV TZ=PRC RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 拷贝jar ADD zhiyu-0.0.1-SNAPSHOT.jar zhiyu.jar # 爆漏的端口号 EXPOSE 8081 # 执行命令 限制内存大小 ENTRYPOINT ["java","-Xms750m","-Xmx900m","-server","-jar","/zhiyu.jar"]
上面文件中,我们限制了jar包的内存大小以及时区相关信息
编写自动构建脚本
#!/bin/sh #打开第一个Dockerfile echo "部署工程" echo "step 1 > 关闭镜像 start" echo "开始关闭 zhiyu 镜像" docker stop zhiyu echo "关闭zhiyu 镜像结束" echo "关闭镜像 end \n" echo "step 2 > 移除镜像服务 start" echo "开始移除 zhiyu 镜像" docker rm zhiyu echo "移除 rpt-portal 镜像结束" echo "移除镜像服务 end \n" echo "step 3 > 开始删除 zhiyu 镜像" docker rmi zhiyu echo "删除 zhiyu镜像结束 \n" echo "开始打包镜像" cd /mysoft/zhiyu/ docker build -t zhiyu . docker run -d --restart=always -v /etc/localtime:/etc/localtime --name zhiyu -m 1024m -p 8081:8081 --net=host zhiyu echo "部署成功,时间戳:$(date +%Y%m%d%H%m%s)" echo "success" exit 1
这一步是根据Dockerfile 将 jar 包打包成镜像,并通过容器运行。注意脚本中的目录,要在 Dockerfile 所在目录进行构建。
查看应用以及日志
docker ps
查看日志
docker logs -f --tail=10 zhiyu