当前位置: 首页 > news >正文

docker部署springboot(eureka server)项目

打jar包

使用maven:

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>17</source><target>17</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

打开idea右侧的 Maven 工具窗口(View → Tool Windows → Maven)双击 package 目标
在这里插入图片描述
生成的jar包:
在这里插入图片描述

Dockerfile文件

# 基础镜像使用java
# Docker 首先检查本地是否已存在指定的镜像(包括名称和标签):
# 如果存在,则直接使用本地镜像。
# 若本地没有镜像,Docker 会尝试从配置的镜像仓库拉取(默认是 Docker Hub)
FROM openjdk:17-jdk
# 作者
LABEL maintainer="zhw"
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD eureka-server-0.0.1-SNAPSHOT.jar eureka-server.jar
# 运行jar包
RUN bash -c 'touch /eureka-server.jar'
ENTRYPOINT ["java","-Duser.timezone=GMT+8","-Djava.security.egd=file:/dev/./urandom","-jar","/eureka-server.jar"]

上传Dockerfile jar包至服务器

在这里插入图片描述

拉取open-jdk 17 作为基础镜像

# 对应dockerfile中 FROM openjdk:17-jdk
docker pull openjdk:17-jdk

eureka-server 生成镜像

docker build -t eureka-server:0 .

在这里插入图片描述
在这里插入图片描述

运行镜像

docker run --name eureka-server  -d --restart always -p 9007:8800 eureka-server:0

在这里插入图片描述

访问 eureka页面

http://10.0.1.129:9007/
在这里插入图片描述

添加环境变量

1.通过 Dockerfile 定义环境变量
在构建镜像时使用 ENV 指令设置 默认环境变量(适合不敏感配置):

ENV SPRING_PROFILES_ACTIVE=prod \APP_PORT=8080

2.通过 docker run 命令行传递
运行容器时通过 -e 动态覆盖环境变量:

docker run -d \-e "SPRING_PROFILES_ACTIVE=prod" \-e "DB_URL=jdbc:mysql://db-host:3306/mydb" \-p 8080:8080 \my-spring-app

相关文章:

  • 网安加·百家讲坛 | 刘志诚:AI安全风险与未来展望
  • 8.观察者模式:思考与解读
  • 3D机器视觉激光器在智能制造领域的主要应用
  • 【LeetCode】大厂面试算法真题回忆(61)--组装新的数组
  • 电子电器架构 --- OEM企标中规定ECU启动时间的目的
  • 基于C++(MFC)的细胞识别程序
  • 焊接机器人的设计
  • CVE-2023-46604漏洞复现与深度分析
  • jQuery — DOM与CSS操作
  • 【MySQL】MySQL表的增删改查(CRUD) —— 上篇
  • 轻松实现文字转语音 - Coqui TTS部署实践
  • 鸿蒙NEXT开发键值型数据工具类(ArkTs)
  • 直线轴承在自动化机械设备中的应用
  • PHP连接MYSQL数据库
  • MCP协议 —— AI世界的“USB-C接口”
  • 本地生活服务信息分类信息系统
  • 10厘米分辨率遥感卫星升空:智慧农业与农业保险的变革与机遇——从SpaceX拼车任务看高精度遥感如何重塑农业未来
  • Redis面试——缓存淘汰和过期删除
  • 深度学习笔记39_Pytorch文本分类入门
  • element-plus添加暗黑模式
  • G40迎来返程大车流,今明两日预计超13万辆车经长江隧桥进沪
  • 罗志田:文学革命的社会功能与社会反响
  • 体坛联播|拜仁遭绝平未能提前夺冠,刘翔钻石联赛纪录作古
  • 港股5月迎开门红,恒生科指涨3%,欧股开盘全线上扬
  • “国宝探索记”增强亲子连接,国宝成了生活想象的一部分
  • AI世界的年轻人|他用影像大模型解决看病难题,“要做的研究还有很多”