docker配置springcloud项目到服务器

news/2024/9/19 9:19:40/文章来源:https://www.cnblogs.com/charkey/p/18412028

1.服务器安装部署docker镜像

2.创建镜像目录,如图所示

 以其中一个服务为例,每个文件夹对应一个服务单元,每个文件夹中包含  sh,Dockerfile文件

3.编辑项目中的application-test(根据环境来定),如图:

 

 

 

4.配置Nacos,单独配置命名空间,增加配置文件,注意,组一定要是test,配错了系统找不到配置。

 

server:port: 18206
spring:cloud:nacos:discovery:server-addr: 192.168.10.21:8848namespace: museumdatasource:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/museum_cms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghaihikari:minimum-idle: 5maximum-pool-size: 15auto-commit: trueidle-timeout: 30000max-lifetime: 1800000connection-timeout: 30000connection-test-query: SELECT 1redis:cluster:enabled: truetimeout: 2000max-redirects: 8nodes: 192.168.10.21:8001,192.168.10.21:8002,192.168.10.21:8003,192.168.10.21:8004,192.168.10.21:8005,192.168.10.21:8006password: BJf+vg/PdRlCx5u/yTQwF3CHGUCu1pcXI40wVgu8rZJQoEMJHhQO+w+KOAZX9ALd7rOK4kn99G6SmidjUdreWgha4D+H9dXKtL27tJV6Qt4lypVwFQoZC3uz77+2EwHMcAfs2F8pvGh86vmkxEGPTvD23Dc=
mybatis-plus:mapper-locations: classpath:mapper/**/*Mapper.xml#实体扫描,多个package用逗号或者分号分隔typeAliasesPackage: com.cloudoer.**.cms.entityglobal-config:# 关闭MP3.0自带的bannerbanner: falsedb-config:logic-delete-field: flag  # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)logic-delete-value: 0 # 逻辑已删除值(默认为 1)logic-not-delete-value: 1 #configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl   #控制台打印SQL语句cache-enabled: falsemain:allow-bean-definition-overriding: true
logging:path: /home/apps/museum/cms/logsenv: devlevel:com.cloudoer.dct.core.dao: debugdownload:directory: /home/apps/museum/cms

  

5.打包服务,idea直接 mvn clean install -U 即可,并将jar文件拷贝到服务器中指定目录下,如图所示,以后更新时,也是替换jar。

 6.编辑Dockerfile文件,和sh文件,注意路径需要更改

FROM xuxiaoweicomcn/dragonwell17:17-x86_64MAINTAINER wangqw "xxx@xx.com"ENV APP_NAME cloudoer-dct-cms-1.0.0-SNAPSHOT.jar
ENV WORK_PATH /home/apps/museum/cms/
ENV JAVA_OPTS "-Xms512m -Xmx2048m"
ENV TZ=Asia/Shanghai#VOLUME
VOLUME ["/home/apps/museum/cms/logs", "/tmp/home"]ADD $APP_NAME $WORK_PATH
#COPY . $WORK_PATH/
WORKDIR $WORK_PATH
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
# CMD
CMD ["java","-jar","-Dspring.profiles.active=test", "cloudoer-dct-cms-1.0.0-SNAPSHOT.jar"]EXPOSE 18408

  

#!/bin/sh
cd /home/apps/museum/cms
cp cloudoer-dct-cms-1.0.0-SNAPSHOT.jar cloudoer-dct-cms-1.0.0-SNAPSHOT.jar1
cp /home/apps/jar/cloudoer-dct-cms-1.0.0-SNAPSHOT.jar cloudoer-dct-cms-1.0.0-SNAPSHOT.jarecho '================开始构建镜像=============='
#镜像名称
IMAGE_NAME='cloudoer-dct-cms'
#打包后在jenkins的地址
SOURCE_PATH='/home/apps/museum/cms'
echo IMAGE_NAME=$IMAGE_NAMEecho '================获取容器id=================='
CID=$(docker ps -a | grep "$IMAGE_NAME" | awk '{print $1}')
echo 容器id=$CIDecho '================获取镜像id=================='
IID=$(docker images | grep "$IMAGE_NAME" | awk '{print $3}')
echo 镜像id=$IIDif [ -n "$CID" ]
thenecho "exist $IMAGE_NAME container,CID=$CID"#停止docker stop $IMAGE_NAME#删除容器docker rm $IMAGE_NAME
elseecho "no exist $IMAGE_NAME container"
fiif [ -n "$IID" ]
thenecho "exist $IMAGE_NAME image,IID=$IID"#删除镜像docker rmi -f $IMAGE_NAMEecho "delete $IMAGE_NAME image"#构建docker build -t $IMAGE_NAME -f $SOURCE_PATH/Dockerfile .echo "build $IMAGE_NAME image"
elseecho "no exist $IMAGE_NAME image,build docker"#构建docker build -t $IMAGE_NAME -f $SOURCE_PATH/Dockerfile .echo "build $IMAGE_NAME image"
fidocker run -p 18408:18408 -d --name $IMAGE_NAME --net=host -v /home/apps/workspace/cms:/home/cms/temp/ -v /home/apps/logs/cms:$SOURCE_PATH/logs/ $IMAGE_NAME

  7.依次执行sh即可

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习笔记 - 知识图谱的符号表示方法

学习笔记 - 知识图谱的符号表示方法 说明:首次发表日期:2024-09-13 个人阅读学习并摘录成笔记知识表示的相关名词定义以下内容摘录自 Knowledge Graphs Applied 2.3小节,然后AI翻译+人工润色。实体(Entities)---表示知识的核心概念,其他所有东西都是围绕其构建的。实体可…

[NLP/AIGC/GPT] RAG : 检索增强型生成技术,智能体的外挂知识库

1 概述 : RAG RAG 技术的概念、起源 大家每天都会看到各种 RAG 框架、论文和开源项目,也都知道 RAG (Retrieval-Augmented Generation) 是检索增强型生成。 但大家还记得 RAG 这个概念源自哪里吗? RAG 概念来自 Facebook AI Research在 2020 年的一篇论文:《** Retrieval-Au…

调研记录

最近做了一批调研,记录照片如下。

ArgoWorkflow教程(四)---Workflow 日志归档

上一篇我们分析了argo-workflow 中的 artifact,包括 artifact-repository 配置以及 Workflow 中如何使用 artifact。本篇主要分析流水线 GC 以及归档,防止无限占用集群中 etcd 的空间。1. 概述 因为 ArgoWorkflow 是用 CRD 方式实现的,不需要外部存储服务也可以正常运行:运行…

相对论:浅析可重构计算立足点

捏他下相对论~可重构计算和时空域概念高度关联,而相对论也是探讨时空域之间的关联关系“FPGA vs ASIC,孰强孰弱?” 这是在我心中埋藏很久的一个疑问。因为听到有言论说在 DNN 上,FPGA 被 ASIC 完爆,能耗和面积都不占优势;而又听到 FPGA 在其他比如量化领域仍有重要的应用…

jenkins远程启动任务--启用远程触发构建

一:前言 在执行Jenkins的项目构建的时候,一般都是通过web管理界面中的”构建”来执行项目构建操作,但是除此之外我们还可以通过项目配置中的”构建触发器”来触发构建操作,其中”构建触发器”有一种方式是通过配置令牌远程触发项目构建。二:设置用户token 打开当前登录用户…

2024年9月中国数据库流行度排行榜:TiDB重回前三,GoldenDB问鼎前五

9月墨天轮排行榜解读新鲜出炉!本月榜单前五变动较大,TiDB时隔半年重归第三,GoldenDB再次攀升跻身第五,此外亦有部分产品表现不俗,一起来看更多排名情况与解读!9月墨天轮数据社区的中国数据库流行度排行榜如约而至。除了冠亚两位,排名第三至第五的数据库产品均经历了位次…

7、Linux文件和目录管理

常规命令的格式注意:调侃删库操作,请勿执行! 命令规范命令:使用正确的命令名称。 空格:命令与选项、参数之间需要空格分隔。 大小写:大部分命令对大小写不敏感,但部分命令和参数敏感,需要注意。 顺序:大部分情况下顺序无影响,但少数命令有顺序要求。详细命令选项参考…

Unity开源技能编辑器

https://www.bilibili.com/video/BV19Z421i7rs/?spm_id_from=333.788&vd_source=106601ca71b1d910c1ac4aa2466b744chttps://github.com/ancientElement/AE_SkillEditor_Plus 开源地址 https://github.com/ancientElement/AE_SkillEditor_Plus

降维算法 0基础小白也能懂(附代码)

在互联网大数据场景下,我们经常需要面对高维数据,在对这些数据做分析和可视化的时候,我们通常会面对「高维」这个障碍。在数据挖掘和建模的过程中,高维数据也同样带来大的计算量,占据更多的资源,而且许多变量之间可能存在相关性,从而增加了分析与建模的复杂性。我们希望…

倍福twincat2变量变化监控方法

使用场景 使用twincat2 scopeview工具对程序中快速变化的变量进行监控并分析程序异常点 监控设置打开TwincatScopeView软件新建示波器并添加Channel填写AMS地址插入需要监控的变量(此处可将需要监控的变量赋值,置顶,方便添加)调整窗口显示范围选择固定时间监视/持续监控对图…