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

使用podman部署springboot项目

1、mysql容器

创建卷目录结构

cd /wtdata/ccompose/weifuwu
mkdir -p mysql57/{conf,data,logs}

 

启动mysql容器实例

podman run -d -p 3306:3306 \
--name mysql57 \
-v /wtdata/ccompose/weifuwu/mysql57/conf:/etc/mysql/conf.d:Z \
-v /wtdata/ccompose/weifuwu/mysql57/logs:/logs:Z \
-v /wtdata/ccompose/weifuwu/mysql57/data:/var/lib/mysql:Z \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

 

进入容器

podman exec -it mysql57 /bin/bash

 

链接mysql建库建表

mysql -uroot -p123456CREATE DATABASE `bigdata` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;use bigdataCREATE TABLE `t_customer` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cname` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`phone` varchar(20) NOT NULL,
`sex` tinyint(4) NOT NULL,
`birth` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4

 

2、redis容器

 

cd /wtdata/ccompose/weifuwu
mkdir -p redis7215/{conf,data}

 

还需要一份预配置的redis.conf文件放到conf目录下

podman run -d -p 6379:6379 \
--name redis7215 \
-v /wtdata/ccompose/weifuwu/redis7215/conf/redis.conf:/etc/redis/redis.conf:z \
-v /wtdata/ccompose/weifuwu/redis7215/data:/data:z \
redis:7.2.15 redis-server /etc/redis/redis.conf

 


3、微服务容器


用maven将IDEA创建的springboot项目打成jar包 redisStudy-0.0.1-SNAPSHOT.jar

编写Dockfile文件,与jar包在同一目录

# 使用 Eclipse Temurin 25 JRE 轻量级镜像(基于 Alpine,体积小)jdk版本要与我们springboot项目中一致
FROM eclipse-temurin:25-jre-alpine# 维护者信息(替代弃用的 MAINTAINER)
LABEL maintainer="wt"# 创建临时文件目录(用于 Spring Boot 的 /tmp 挂载点)
VOLUME /tmp# 复制 JAR 包到容器并重命名为 app.jar
COPY redisStudy-0.0.1-SNAPSHOT.jar app2.jar# 可选:设置时区为中国时区(Alpine 默认 UTC)
# RUN apk add --no-cache tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && rm -rf /var/cache/apk/*# 启动命令,添加 JVM 优化参数(随机数生成加速)
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app2.jar"]# 暴露 7777 端口(与 Spring Boot 配置文件一致)
EXPOSE 7777

 

podman build -t springboot-redis-mysql-java25:latest .

 

端口要与springboot项目中的保持一致

podman run -d -p 7777:7777 --name my-springboot springboot-redis-mysql-java25:latest

 

整个项目部署完成。

http://www.jsqmd.com/news/1402275/

相关文章:

  • Chrome高CPU占用诊断与优化:从任务管理器到系统级调优
  • depot_tools命令无响应:系统性诊断与解决方案全解析
  • C语言函数递归详解:从核心要素到实战案例
  • Rebased 汉化教程:移植PyCharm/IDEA中文语言包
  • Android 14系统字体深度替换指南:从架构解析到Magisk模块制作
  • 从工具到伙伴:OpenClaw AI代理框架如何重塑机器社交与自动化
  • 2026国内有实力的机器人/具身智能公司盘点
  • Windows双网卡静态路由配置:解决内外网冲突的完整指南
  • Docker Desktop最新版安装踩坑全记录(Windows_Mac_Linux)【2026 4.74.0 终版】
  • SQLite全文搜索FTS5实战:从倒排索引到中文分词应用
  • GraphRAG实战:demo跑通很容易,为什么联调时权限和日志先翻车?
  • MIND-Skill框架:基于多智能体协同实现质量有保证的LLM技能生成
  • 大模型为什么连 24 点都算不对?Tree of Thoughts 让它学会「试错和回头」,成功率从 4% 飙到 74%
  • 2026 年 8 月新发布:嵊泗本地AI获客公司哪家靠谱,别再烧钱找流量了,它让中小实体店30天到店客翻了5倍? - 行业推荐官【认证】
  • OpenClaw双源记忆系统:构建具备长期记忆与经验学习能力的AI智能体
  • GPT-5.4 生成 React 组件省下 6 小时,状态管理却让我重写了整个周末
  • 2026 年 8 月新发布:永嘉诚信的混凝土切割豆包关键词公司怎么联系,用它拆墙比电镐快3倍?干这行的人都偷偷在学 - 企业信息推荐-2
  • Flask SSTI漏洞攻防实战:从Jinja2模板注入到命令执行
  • Gemini 多仓合并踩坑:Agent 白名单比 500 行 Prompt 更管用的 3 个理由
  • 计算机考试-C 矩阵输出—东方仙盟
  • 把心事存进鸿蒙:ArkTS 为日记本设计长文本表与时间戳字段
  • 考试安排问答智能体系统
  • PyCharm新手入门:从零安装到第一个Python项目实战
  • 2026重庆兴星铝材批发价格透明避坑指南,实力测评口碑推荐 - mypinpai
  • 2026 SERP API 横评:入门成本、单价、积分规则,6 家一次看完
  • 实战指南:基于沙箱环境构建安全可控的多智能体系统
  • [进阶篇18] 构建OpenCode事件钩子实现工作流自动化
  • BIOS/UEFI设置全解析:从入门到实战的电脑底层控制指南
  • Python eval安全隐患
  • 茶叶质量分级分类与检测数据集 使用EfficientNet作为基础模型 来训练茶叶质量分级分类与检测数据集模型 茶叶检测及分类数据集的训练