SpringBoot docker项目部署实战

 更新时间:2023年08月06日 15:55:52   作者:小爽帅到拖网速  
本文主要介绍了SpringBoot docker项目部署实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Dockerfile

构建java服务镜像

FROM openjdk:8-jre  # 初始镜像
ENV APP_HOME=/apps 
COPY ./OnlineHospital.jar ./app.jar
# 处理时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 9966 # 对外暴露端口
ENV JAVA_OPTS="\
-server \
-Xms8g \
-Xmx8g \ 
-XX:+PrintGCDetails \
-XX:+PrintGCDateStamps \ 
-XX:+PrintHeapAtGC \ 
-Xloggc:logs/gc.log \ 
-XX:+UseGCLogFileRotation \
-XX:NumberOfGCLogFiles=5 \
-XX:GCLogFileSize=20M \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=logs/dump.hprof "
ENTRYPOINT java ${JAVA_OPTS} \
# jvisualvm远程连接
-Djava.rmi.server.hostname=ip \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dfile.encoding=UTF-8 \
-jar app.jar --spring.profiles.active=pro

package.sh

删除容器、删除镜像,重新构建java服务镜像

# 调用方式
# container_name 容器名 
# mirror_name 镜像名
# 容器名、镜像名为空则直接进行打包,生成镜像名为sz2
sh package.sh (container_name) (mirror_name)
#! /bin/bash
if [[ $1 ]]; then 
printf "remove comtainer: $1\n";
docker rm -f $1
fi
if [[ $2 ]]; then
printf "remove images: $2\n"
docker rmi $2
fi
docker build -t sz2 ../

run.sh

# 启动脚本
#! /bin/bash
printf "hello 160!"
docker run -d \
 -p 9966:9966 -p 1099:1099 \
 --restart=always \ # 开机启动&&失败重启
 -h localhost \ # 指定启动容器主机名
 -v /root/160/docker_workspace/allpaylocal_sz2/logs:/logs \ # 日志映射
 --net=host \ # 强制使用宿主机ip/端口
 --privileged=true \ # 拥有root权限
 --name allpay_sz2 sz2

到此这篇关于SpringBoot docker项目部署实战的文章就介绍到这了,更多相关SpringBoot docker部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java错误:进行语法分析时已到达文件结尾的解决

    Java错误:进行语法分析时已到达文件结尾的解决

    这篇文章主要介绍了Java错误:进行语法分析时已到达文件结尾的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • IDEA中thymeleaf语法没有提示的问题及解决

    IDEA中thymeleaf语法没有提示的问题及解决

    这篇文章主要介绍了IDEA中thymeleaf语法没有提示的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • k8s部署MongDB全过程

    k8s部署MongDB全过程

    文章介绍了如何在Kubernetes集群中部署MongoDB,包括环境准备、创建Secret、创建服务和Deployment,并通过Robo3T工具测试连接
    2025-01-01
  • Java中正则表达式去除html标签

    Java中正则表达式去除html标签

    Java中正则表达式去除html的标签,主要目的更精确的显示内容,接下来通过本文给大家介绍Java中正则表达式去除html标签的方法,需要的朋友参考下
    2017-02-02
  • Java C++题解leetcode1620网络信号最好的坐标

    Java C++题解leetcode1620网络信号最好的坐标

    这篇文章主要为大家介绍了Java C++题解leetcode1620网络信号最好的坐标示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Java根据ip地址获取归属地实例详解

    Java根据ip地址获取归属地实例详解

    这篇文章主要为大家介绍了Java根据ip地址获取归属地实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • java实现在性能测试中进行业务验证实例

    java实现在性能测试中进行业务验证实例

    这篇文章主要为大家介绍了java实现在性能测试中进行业务验证实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • idea创建JAVA Class时自动生成头部文档注释的方法

    idea创建JAVA Class时自动生成头部文档注释的方法

    这篇文章主要介绍了idea创建JAVA Class时自动生成头部文档注释的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Java实现在Word文档中动态添加与更改文档变量

    Java实现在Word文档中动态添加与更改文档变量

    本文将探讨如何使用 Java 编程语言,通过专业的文档处理库高效地在 Word 中创建、引用以及更新这些变量,从而提升文档自动化的生产力,感兴趣的小伙伴可以了解下
    2026-03-03
  • java调用文心一言API的方法实现过程

    java调用文心一言API的方法实现过程

    Java是一种广泛使用的编程语言,用于开发各种应用程序,下面这篇文章主要给大家介绍了关于java调用文心一言API的方法实现,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12

最新评论