后端java部署教程,docker配置解读(linux用docker部署新手入门)

文件夹结构

然后解读几个启动脚本

首先dockerFile

python 复制代码
# 使用anapsix/alpine-java:8_server-jre_unlimited作为基础镜像
FROM anapsix/alpine-java:8_server-jre_unlimited

# 设置维护者信息
MAINTAINER admin@xiaohuaikeji.com

# 设置时区为Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 在/xh目录下创建一个目录
RUN mkdir -p /xh

# 将工作目录设置为/xh
WORKDIR /xh

# 暴露容器的8084端口
EXPOSE 8084

# 将当前目录下的watermodelServer.jar复制到容器内的app.jar
ADD ./watermodelServer.jar ./app.jar

# 容器启动时执行的命令,运行Java应用程序
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]

# 默认命令参数,设置spring.profiles.active为prod
# CMD ["--spring.profiles.active=prod"]

然后是run.sh

python 复制代码
docker run -d \
--name watermodelService \ # 容器名称为watermodelService
-p 9084:9084 \ # 将容器的9084端口映射到宿主机的9084端口
-m 512M \ # 限制容器内存为512MB
--privileged=true \ # 启用特权模式,具有更高的操作权限
--restart=always \ # 容器退出时自动重启
-v /home/watermodel/service/logs:/xh/logs \ # 挂载宿主机上的日志目录到容器内的对应路径
-v /home/watermodel/service/temp:/xh/data \ # 挂载宿主机上的临时数据目录到容器内的对应路径
-e JAVA_OPTS="-Xmx128m -Xss512k" \ # 设置Java虚拟机选项
-e "spring.profiles.active=dev" \ # 设置Spring的活动配置文件为dev
xhsoft/watermodel-service # 使用xhsoft/watermodel-service镜像运行容器

然后是build.sh

python 复制代码
docker build -t xhsoft/watermodel-service . # 构建一个名为xhsoft/watermodel-service的镜像,使用当前目录下的Dockerfile

然后是clean.sh

python 复制代码
docker stop watermodelService; # 停止名为watermodelService的容器
docker rm watermodelService; # 移除名为watermodelService的容器
docker image rm xhsoft/watermodel-service; # 移除名为xhsoft/watermodel-service的镜像

最后是rebuild.sh

python 复制代码
./clean.sh;
./build.sh;
./run.sh;

使用的时候,直接执行rebuild.sh即可

如果遇到了权限问题,直接运行

chmod -R 755 ui/

给文件夹赋予权限

然后再直接执行rebuild.sh即可

相关推荐
Tyfrank35 分钟前
Linux内核收包路径及中断
linux·运维·单片机
阳光九叶草LXGZXJ1 小时前
达梦数据库-报错-11-cmd 13 validate error
linux·运维·数据库·sql·学习
~光~~2 小时前
【嵌入式linux学习_OV8858 bring up】L1_从Sensor到RK3588发生了什么
linux·运维·学习
运维大师2 小时前
【K8S 运维实战】32-GitOps实践ArgoCD
运维·kubernetes·argocd
Nuanyt2 小时前
Linux系统的 Shell 常见指令和常见知识点(以bash为主)
linux·运维·chrome·bash
星恒随风2 小时前
Linux 权限详解:从 rwx、chmod 到 umask、目录权限与粘滞位
linux·运维·服务器·笔记·学习
拳里剑气2 小时前
Linux:进程间通信
linux·运维·数据库·进程
运维大师2 小时前
【K8S 运维实战】31-Helm包管理
运维·算法·kubernetes
阳光九叶草LXGZXJ2 小时前
达梦数据库-报错-12-[-7184]:对象定义[XXX]被修改,版本检查失败
linux·运维·服务器·数据库·sql·学习
AI大佬的小弟2 小时前
私有化 Dify 应用开发(3):Docker 核心原理与零基础实战
运维·docker·容器技术·ai 应用开发·私有化 ai 部署·docker 教程·dify 运维