后端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即可

相关推荐
johnny2337 小时前
运维管理面板:AcePanel、OpenOcta、DeepSentry
运维
青梅橘子皮7 小时前
Linux---基本指令
linux·运维·服务器
REDcker8 小时前
Linux信号机制详解 POSIX语义与内核要点 sigaction与备用栈实践
linux·运维·php
绘梨衣5479 小时前
Docker+FastAPI+MySQL 项目部署报错汇总
mysql·docker·fastapi
cui_ruicheng9 小时前
Linux进程间通信(三):System V IPC与共享内存
linux·运维·服务器
ACP广源盛1392462567310 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
百年੭ ᐕ)੭*⁾⁾11 小时前
docker使用neo4j
docker·容器·neo4j
峥无11 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
码云数智-大飞12 小时前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
Harvy_没救了13 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx