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

news2024/11/25 15:44:30

文件夹结构

然后解读几个启动脚本

首先dockerFile

# 使用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

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

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


然后是clean.sh

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

最后是rebuild.sh

./clean.sh;
./build.sh;
./run.sh;

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

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

chmod -R 755 ui/

给文件夹赋予权限

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1633716.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

组装nas的 神器 n100 ,改天组装一个!

N100的CPU性能虽然不是很强,性能接近4代i5移动端,但功耗很低,TDP只有6W,而且有个24单元的核显,解码视频能力不差。N100和Intel的i系列CPU是不同厂商生产的,并且它们的设计和架构也有所不同,因此…

Vitis HLS 学习笔记--Schedule Viewer 调度查看器

目录 1. 简介 2. Schedule Viewer详解 2.1 视图说明 2.1.1 Operation\Control Step 2.1.2 周期关系图 2.1.3 Schedule Viewer 菜单栏 2.1.4 属性视图 2.2 内容说明 2.2.1 实参(b)解释 2.2.2 实参(a)解释 2.2.3 变量&am…

# Windows 环境变量 Path 显示样式更改

Windows 环境变量 Path 显示样式更改 1、传统 Path 环境变量显示: ---》键盘上按【WIN I 】打开系统【设置】 ---》依次点击 ---》【系统】 ---》【系统信息】 ---》【高级系统设置】 ---》【高级】 ---》【环境变量】。或者依次点击: ---》右键 【我…

利用kimi等大模型进行运维参数解析和调优

在运维时,经常遇到很多参数,有些参数不知道意义,知道意义的也有些不知道合理参考值是多少。利用kimi等大模型来当老司机,轻松解决运维难题。 例如在运维hive参数时,有些不知道作用,提示次如下 你的角色是…

iOS上的UI是如何渲染出来的? 深入浅出UIKit渲染

我们在代码中写的View、Image等组件,最终是如何一步步渲染到屏幕上的呢?触摸、动画等是如何实现的?我们可以利用这些知识做哪些优化呢? 本文先从屏幕物理层原理出发,一步步介绍渲染流程,然后介绍iOS的UIKi…

go idea 不同区域的字体行距设置

1、代码区域的设置: 2、左侧project导航栏的设置: 3、问:go idea 底部的窗口,比如run、terminal、debug、version control等的设置:

pytorch 实现语义分割 PSPNet

语意分割是指一张图片上包含多个物体,通过语义分割可以识别物体分类、物体名称、像素识别的任务。和物体检测不同,他不会将物体框出来,而是根据像素的归属把物体标注出来。PSPNet 的输入是一张图片,例如300500,那么输出…

全志ARM-修改开发板内核启动日志

修改开发板内核日志输出级别: 默认输出级别为1,需要用超级用户权限修改 sudo vi /boot/orangepiEvn.txt 把第一行内核启动输出权限改为7,第二行把输出方式该为“serial”串口输出

QT:小项目:登录界面 (下一个连接数据库)

一、效果图 登录后&#xff1a; 二、项目工程结构 三、登录界面UI设计 四主界面 四、源码设计 login.h #ifndef LOGIN_H #define LOGIN_H#include <QDialog>namespace Ui { class login; }class login : public QDialog {Q_OBJECTpublic:explicit login(QWidge…

区块链技术下的DApp与电商:融合创新,开启商业新纪元

区块链技术的蓬勃发展正引领着一种新型应用程序的崛起——去中心化应用程序&#xff08;DApp&#xff09;。DApp并非传统的中心化应用&#xff0c;它构建于去中心化网络之上&#xff0c;融合了智能合约与前端用户界面&#xff0c;为用户提供了全新的交互体验。智能合约&#xf…

Leetcode—1146. 快照数组【中等】(ranges::lower_bound、std::prev函数)

2024每日刷题&#xff08;121&#xff09; Leetcode—1146. 快照数组 思路 题意很绕&#xff0c;解释一下&#xff1a; 拍一次照&#xff0c;复制出一个新数组&#xff0c;set 都在这个新的上面进行get 目标是得到第 id 个数组的特定位置的值 实现代码 class SnapshotArray…

ROS 2边学边练(39)-- 调试tf2

前言 这节还是围绕tf2来进行&#xff0c;只不过针对调试相关&#xff0c;把之前有过一面之缘的问题再次拿出来重点说明一下&#xff0c;此过程中我们会碰到之前几期中认识但还不怎么熟络的朋友比如tf2_echo、tf2_monitor、view_frames。 动动手 我们会利用一个有不少问题的例子…

Python-100-Days: Day06 Functions and Modules

函数的作用 编程大师Martin Fowler先生曾经说过&#xff1a;“代码有很多种坏味道&#xff0c;重复是最坏的一种&#xff01;”&#xff0c;要写出高质量的代码首先要解决的就是重复代码的问题。可以将特定的功能封装到一个称之为“函数”的功能模块中&#xff0c;在需要的时候…

JavaScript代码挑战#4

// 编程挑战 #4 /* 朱莉亚和凯特仍在研究狗&#xff0c;这次她们研究的是狗是否吃得太多或太少。 吃得太多意味着狗当前的食物份量比推荐份量大&#xff0c;吃得太少则相反。 吃得适量意味着狗当前的食物份量在推荐份量的正负 10% 的范围内&#xff08;参见提示&#xff09;。 …

企业邮箱哪个性价比高?2024年国内五大企业邮箱功能、价格对比

对于企业来说&#xff0c;更换企业邮箱的成本很高&#xff0c;包括企业邮箱数据迁移&#xff0c;新的通讯录导入等&#xff0c;都会耗时耗力。那么选择能稳定且性价比高的企业邮箱就至关重要&#xff0c;国内的Zoho Mail企业邮箱、网易企业邮箱、阿里企业邮箱、腾讯企业邮箱和新…

2024年宠物行业未来发展趋势(宠物行业增长风口深度报告)

近期&#xff0c;小红书联合第一财经发布了宠物行业洞察报告。报告中指出了宠物行业的三大消费新趋势&#xff1a;科学养宠、专宠专用和双向奔赴。而实际上&#xff0c;这三大趋势在2024年已经有明显的凸显。 趋势一&#xff1a;科学养宠 科学养宠主要体现在宠物主粮的选择上&…

Linux进程概念(七):进程替换 自主shell的编写

目录 进程替换 六种替换函数 自主shell的编写 shell解析命令行字符串的过程 创建makefile 打印输出命令行 获取与分割命令行字符串 多次执行命令 完善工作 完整代码 进程替换 原因&#xff1a;fork创建子进程后&#xff0c;执行的是和父进程相同的代码&#xff0c;…

Spring6 当中 获取 Bean 的四种方式

1. Spring6 当中 获取 Bean 的四种方式 文章目录 1. Spring6 当中 获取 Bean 的四种方式每博一文案1.1 第一种方式&#xff1a;通过构造方法获取 Bean1.2 第二种方式&#xff1a;通过简单工厂模式获取 Bean1.3 第三种方式&#xff1a;通过 factory-bean 属性获取 Bean1.4 第四种…

一例MFC文件夹病毒的分析

概述 这是一个MFC写的文件夹病毒&#xff0c;通过感染USB设备传播&#xff0c;感染后&#xff0c;会向c2(fecure.info:443)请求指令来执行。 样本的基本信息 Verified: Unsigned Link date: 19:52 2007/7/5 MachineType: 32-bit MD5: 4B463901E5858ADA9FED28FC5…

基于SpringBoot+Vue笔记记录分享网站设计与实现

项目介绍&#xff1a; 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代…