SpringBoot docker项目部署实战
作者:小爽帅到拖网速
本文主要介绍了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=propackage.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部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
