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

文件夹结构

然后解读几个启动脚本

首先dockerFile

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

# 设置维护者信息
MAINTAINER [email protected]

# 设置时区为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即可

相关推荐
Kookoos24 分钟前
Dynamics 365 Finance + Power Automate 自动化凭证审核
运维·自动化·dynamics 365·power automate
努力学习的小廉4 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
MickeyCV4 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
秃头菜狗4 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
棠十一4 小时前
Rabbitmq
分布式·docker·rabbitmq
jiunian_cn6 小时前
【Linux】centos软件安装
linux·运维·centos
藥瓿亭6 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_809798326 小时前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
嵌入式大圣6 小时前
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
运维·docker·容器
孔令飞6 小时前
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
ai·云原生·容器·golang·kubernetes